HelieCe
Messages postés2Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention20 août 2008
-
19 août 2008 à 22:44
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 2013
-
21 août 2008 à 00:24
Bonjour,
Je suis en train de creer une macro en VBA, sous Excel, qui permet de traiter des informations banquaires venant de plusieurs fichiers sources. Certains de ses fichiers ont une extensions xls, les autres une extension csv.
Il se trouve que je dois m assurer de l'egalité de deux cellules appartenant a deux fichiers différents (l'un xls, l autre csv). Seulement, meme lorsque les cellules ont la meme valeur, l egalité n est pas detecté. J ai pensé a un probleme de format de cellule, et j ai essayé d'imposer un format texte au cellules mais ca ne marche toujours pas. Chose etrange, il en va de meme losrque je fais une recherche "manuelle" (Ctrl+f) la cellule n est pas trouvée. La seule solution que j ai trouvée qui me permet de resoudre le probleme, est de trier les données colonnes par colonnes. Et la Ô miracle, la macro reconnait l egalité des cellules. Alors que la fonction trier n est pas censée modifier le format des cellules... Si?
Est ce que vous sauriez d'ou cela peut venir et ce que je peux faire pour resoudre mon probleme ?
A defaut, sauriez vous comment programmer un trie sur une colonne?
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 20 août 2008 à 01:10
Bonsoir HelieCe,
Je doute fort qu'un tri a résolu ce probleme.
Quand j'applique une égalité , j'utilise Trim pour enlever les espaces vides à droite
et à gauche du mots.
"Text" n'est pas égal à " Text " car il y a des blancs.
Difficile à dire sans voir le programme et sans voir comment sont disposées les données.Je ne peux pas en dire davantage.
Concernant , le tri d'une colonne:
Par exemple , tri croissant du tableau Excel [A1:D20] par partir de A1 c'est à dire
colonne A.
Worksheets(1).Range("A1:D20").Sort _
Key1:=Worksheets(1).Range("A1"), order1:=xlAscending
Pour un tri decroissant pour le même tableau ,mettre order1:=xlDescending
HelieCe
Messages postés2Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention20 août 2008 20 août 2008 à 23:03
Je te remercie pour ta reponse.
J utilisais deja un trim pour retirer les espaces. J ai reussi a trouver une solution en contournant le probleme, en modifiant les propriétés des fichiers sources et utilisant des variables string intermediaires... Mais je comprend toujours pas d ou le probleme vient.
Cependant, je te remercie beaucoup pour le code du tri. Cela me sera tres utile pour la suite.