Excel VBA : fonction recherche

Résolu
anthonyyy000 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
anthonyyy000 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'utilise la fonction recherche comme ceci :

Dim Famille As String 
For I = 2 To limax 
   If Famille <> Sheets("Import").Cells(I, 1) Then 
            Famille = Sheets("Import").Cells(I, 1) 
            Sheets.Add: ActiveSheet.Name = Application.WorksheetFunction.Lookup(Famille, Sheets("libelle").Columns(3), Sheets("libelle").Columns(4)) 
   end if 
next I


mon code est plus complet mais voila en gros pour vous donner une idée.

Mon problème ne réside pas dans le fait que le code ne soit pas bon, mais dans le fait que ma variable famille peut prendre les valeurs suivantes :
1
10
13
14
15
5-C
5-A
X
13B
etc ...

ce sont des codes (de meme pour la colonne 3) et la colonne 4 sont les libellés correspondants.

Lorsque ma variable famille prend la valeur 13, le programme bug car il me dit que la feuille est déjà créé.
Enfait la recherche n'est pas bonne car pour les codes 13,14,15, la recherche me donne le libellé du code 10 .

J'ai essayé de mettre mes cellules au format texte pensant que le fait que se soit des nombres la recherche fonctionne mal, mais ça ne larche toujours pas.

J'espère avoir été assez clair,
Si quelqu'un a une idée.
Merci


A voir également:

2 réponses

melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
Bonjour,

Pour trouver le pb, il faudrait déjà savoir à quoi est égal famille ou du moins comment tu l'as défini.

Car ton code tel qu'il est ne pose pas de pb.

Mets ton code en entier ca aiedera plus.

Pour moi le pb vient de la définition de ta variable famille.
0
anthonyyy000 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
la variable famille est définit comme texte ("string")

J'ai trouvé le pourquoi du comment.

Il fallait que ma colonne de recherche (ici ma colonne 3) soit rangé par ordre croissant, et j'avais quelques valeurs pour lesquelles ce n'étaient pas le cas !

Désolé du dérangement.
0