Bonjour le forum,
Je rencontre un problème avec la synthaxe suivante:
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 ?
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 ?
Dernière édition: