verbavolant
XLDnaute Nouveau
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 :
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
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:
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