Excel VBA : fonction recherche [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
31 mai 2011
-
Messages postés
3
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
31 mai 2011
-
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


2 réponses

Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
135
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.
Messages postés
3
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
31 mai 2011

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.