IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupérer des valeurs d'une textbox pas au format texte


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Récupérer des valeurs d'une textbox pas au format texte
    Bonjour à tous,

    Après avoir écumé le web en quête d'une solution, je viens vous demander de l'aide !
    La situation est la suivante : j'ai un userform équipé de plusieurs textbox, ces textbox contiennent du texte pour certaines et des dates pour d'autres. Grâce à une fonction et une boucle je me retrouve vite avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For i To fin
         Cells(i, j) = zoneDeTexte1.Value
    Next
    Cela me sert vous l'avez compris à recopier le contenu de ma textbox dans ma cellule. Le problème est que ces cellules contiennent des dates. Elles sont formatées en dd/mm/yyyy. Mais quand je copie le contenu de la textbox, la donnée récupérée est en String et pas en Date, et elle écrase le formatage de ma cellule !
    Or j'ai besoin de pouvoir ensuite trier ma colonne, ce qui est impossible quand les dates sont enregistrées en String car Excel les trie alors par ordre alphabétique, ce qui me fout le dawa dans le fichier.

    Du coup je cherche comment convertir les dates en format String en vraie date dans mon fichier au sein de la boucle. J'ai bien sûr essayé CDate(), mais quand on lui donne une chaîne vide, bam, erreur ! Et moi j'ai de temps en temps une textbox vide donc je peux pas esquiver ce cas de figure.

    J'ai essayé en mettant zoneDeTexte1.Value, ou .Text même résultat, ma seule autre solution serait de faire des cas particuliers avec des If à chaque fois et c'est vraiment lourd !

    Sinon j'ai pensé à un Copy/pasteSpecial, mais je n'ai pas réussi à bien faire tourner la fonction...
    Sinon peut-être ajouter un élément de userform différent, pas un textbox mais un champ avec plus de possibilités ? Je ne sais pas bien où trouver ça...

    En résumé, j'ai des String et je veux en faire des Date même quand la chaîne est vide, peu importe si la date retournée est alors vide !

    Alors quelqu'un se sent le courage de m'aider ??? Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Points : 377
    Points
    377
    Par défaut
    Bonsoir,

    A essayer, tout simplement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To fin
        If zoneDeTexte1 = "" Then
            Cells(i, j) = ""
        Else
           Cells(i, j) = CDate(zoneDeTexte1)
        End If
    Next
    Par contre, à quoi correspond zoneDeTexte1 ? A une variable, à un control TextBox qui s'incrémente avec une boucle.
    Cela manque de précision car on aurait alors soit zoneDetexte(i), soit Controls("zoneDeTexte" & i).

    De plus, dans la boucle For, il est nécessaire de mettre une valeur de départ à i, là j'ai mis 1.

    Une autre solution serait, s'il ne s'agit que de dates à renseigner ou non dans les TextBox, d'utiliser alors soit des controls DTPicker ou MonthView.

    Cordialement

Discussions similaires

  1. récupérer des valeur dans une textbox..
    Par mohe27 dans le forum ASP.NET
    Réponses: 11
    Dernier message: 15/12/2007, 19h37
  2. Réponses: 1
    Dernier message: 29/07/2006, 10h08
  3. Récupérer des valeurs d'une fenêtre
    Par thierrybatlle dans le forum Delphi
    Réponses: 3
    Dernier message: 08/06/2006, 10h47
  4. récupérer des valeurs pour une semaine donnée
    Par duck54 dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/05/2006, 01h13
  5. Réponses: 2
    Dernier message: 12/04/2006, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo