Bonjour (ou rebonjour)

J'essaie de remplir un classeur à l'aide d'un Index-Equiv : en effet, je dois trouver la valeur commune entre un identifiant et un nom de colonne.

J'ai trouvé ce code sur internet (que j'ai adapté), qui me semble fonctionnel, mais j'ai l'erreur #N/A qui apparaît lorsque je souhaite boucler le remplissage.

L'onglet "SOURCE" correspond à la source de mes données
La plage "A1:A8" correspond à ma colonne d'identifiant
La plage "A1:C1" correspond à ma ligne de champs

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Sub test_rempli()
For J = 5 To 6 'Pour les colonnes de 5 à 6
For I = 2 To 8 'Pour les lignes de 2 à 8
    a = Application.Match(I, Sheets("SOURCE").Range("A1:A8"), 0)
    b = Application.Match(J, Sheets("SOURCE").Range("A1:C1"), 0)
    Cells(I, J) = Application.Index(Sheets("SOURCE").Range("A2:C8"), a, b)
Next
Next
End Sub
Mes noms de champs sont rigoureusement identiques d'un onglet à l'autre. De même, les identifiants dans l'onglet de résultats sont tous présents dans l'onglet source.

En essayant de remplir le classeur sans boucle, j'y arrive parfaitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Sub test_rempli()
    a = Application.Match(Range("A2"), Worksheets("SOURCE").Range("A1:A8"), 0)
    b = Application.Match(Range("E1"), Worksheets("SOURCE").Range("A1:C1"), 0)
    Range("E2") = Application.Index(Worksheets("SOURCE").Range("A2:C8"), a, b)
End Sub

EDIT : Ah bah non c'est bon j'ai trouvé toute seule d'où venait le soucis (j'oubliais le "cells" après le application.Match...) Désolée !


Je sais que la politique du forum est d'éviter au maximum l'envoi de pièces jointes. Si malgré tout, vous en avez besoin, n'hésitez pas à me la demander.
Merci et bonne soirée !