Bonjour,
Je me lance dans les macro VBA Excel. Et je bute sur un petit souci tout simple.
Je dispose d'une liste avec 3 colonnes sur une feuille : ID / Attribut / Valeur
Et sur l'autre feuille je souhaite en inscrivant un ID récupérer le contenu de "Attribut" et "Valeur"
Tout en sachant que la première feuille peut contenir des éléments différents :
ID Attribut Valeur
23 Nom Bob
23 Age 12
15 Nom Bobby
16 Age 14
Je veux dans mon autre feuille récupérer les info suivantes les unes sous les autres :
Nom Bob
Age 12
J'ai commencé à écrire un petit bout de macro dont voici le code :
Sub Test_Fichz()
'Déclaration
Dim caze As Integer
Dim i As Integer
Dim maxz As Long
Dim IDz1 As String
Dim IDz2 As String
Dim TempoVar As String
Dim TempoVal As String
'Remise à zéro des variables
caze = 6
i = 1
maxz = 50
'Définition du code à rechercher
IDz1 = Sheets("Fichz").Cells(3, 3).Value
'Recherche dans onglet Listz du code
For i = 1 To maxz
IDz2 = Sheets("Listz").Cells(i, 1).Value
If IDz1 = IDz2 Then
TempoVar = Sheets("Listz").Cells(i, 2).Value
Sheets("Fichz").Cells(caze, 2).Value = TempoVar
TempoVal = Sheets("Listz").Cells(i, 3).Value
Sheets("Fichz").Cells(caze, 3).Value = TempoVal
caze = caze + 1
End If
i = i + 1
Next
End Sub
Mais, ça ne me renvoie qu'une ligne sur deux sans que je comprenne pourquoi... Ca doit être tout bête, quelqu'un peut me corriger ? Au passage je pense que le code est très lourd, il est possible de se passer des variables temporaires que j'ai créée ou pas ?
Je mets le fichier en PJ avec un onglet théorique, ce que ma macro devrait donner comme résultat en fait.
Merci !