Format de cellule fichier csv/xls

HelieCe Messages postés 2 Date d'inscription mardi 19 décembre 2000 Statut Membre Dernière intervention 20 août 2008 - 19 août 2008 à 22:44
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 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?

Je vous remercie par avance de votre aide

Hélie.

3 réponses

dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
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

Bonne suite
A++
0
HelieCe Messages postés 2 Date d'inscription mardi 19 décembre 2000 Statut Membre Dernière intervention 20 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.

@+
Hélie
0
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
21 août 2008 à 00:24
Bonsoir ,
Sans le code , difficile de répondre !
A+
0
Rejoignez-nous