Vlookup qui refuse de boucler !

Int0x

XLDnaute Occasionnel
Bonjour le forum,

Je rencontre un problème avec la synthaxe suivante:

Code:
For i = 4 To Range("L65000").End(xlUp).Row
        
        'sélectionne le bon onglet
        Range("L" & i).Select
        n = Right(Application.WorksheetFunction.VLookup(ActiveCell, Sheets("Settings").Range("B2:C85"), 2, 0), 3)       
        Sheets(n).Select
        
        'vérifie la présence de la référence
        For c = 12 To Range("A65000").End(xlUp).Row
            If Range("A" & c) = Sheets("BdD").Range("A" & i).Value Then
                Sheets(n).Range("B" & c).Value = Sheets("BdD").Range("B" & i).Value
                Sheets(n).Range("C" & c).Value = Sheets("BdD").Range("C" & i).Value
                Sheets(n).Range("D" & c).Value = Sheets("BdD").Range("Q" & i).Value
                Sheets(n).Range("H" & c).Value = Sheets("BdD").Range("R" & i).Value
                'Exit Sub
            End If
        Next c
            
        
        b = Sheets(n).Range("A65000").End(xlUp).Row + 1
        'on alimente chaque onglet machine par infos BdD
        Sheets(n).Range("A" & b).Value = Sheets("BdD").Range("A" & i).Value
        Sheets(n).Range("B" & b).Value = Sheets("BdD").Range("B" & i).Value
        Sheets(n).Range("C" & b).Value = Sheets("BdD").Range("C" & i).Value
        Sheets(n).Range("D" & b).Value = Sheets("BdD").Range("Q" & i).Value
        Sheets(n).Range("H" & b).Value = Sheets("BdD").Range("R" & i).Value

Next i

En gros:
- sur une feuille ("BDD"), j'ai en colonne des "noms de machine"
- sur une autre feuille ("Settings"), j'ai des numéros à 6 chiffres qui sont associés à ces noms
- j'ai un onglet par "nom de machine". Chaque onglet est nommé par les 3 derniers chiffres

Je souhaite descendre la liste des machines de la feuille "BdD" et envoyer les valeurs sur chaque onglet correspondant. Le problème vient du fait que je rencontre un problème dès qu'il y'a plus d'une valeur dans cette liste de nom, donc en gros dès que i >1.

Edit: je place les mêmes valeurs en L4 et L5, il va bien incrémenter ce que je veux pour la valeur L4. Par contre, il bloque sur L5 (alors qu'il devrait alimenter le même onglet, je lui présent le même cas).

Impossible de lire la propriété VLookup de la classe WorksheetFunction.
Le débogeur me renvoie sur la ligne n= blablabla...

Auriez-vous idée du pourquoi de ce refus de boucler ?
(je débute en vba, soyez indulgents ! ;))

Merci !
Int0x

Edit: trouvé, vraiment bête...il n'était pas sur le bonne feuille, donc il ne cherchait pas la bonne valeur, blablabla...
Comment supprimer son post ? :eek:
 
Dernière édition:

GIBI

XLDnaute Impliqué
Re : Vlookup qui refuse de boucler !

bonsoir,

le Range("L" & i).Select n'est pas cqualifié par le nom de l'onglet donc au 2eme passage vous êtes sur Sheet(n) (aprés le Sheets(n).Select)

ceci explique cela

Bon courage pour la suite
 

Statistiques des forums

Discussions
312 249
Messages
2 086 598
Membres
103 253
dernier inscrit
alscanv974