Bonjour,

Afin de remplir vite fait bien fait un Excel, je boucle son remplissage via d'autres feuilles. Tout se passe bien jusqu'à l'arrivée du Vlookup qui va piocher dans l'onglet d'un autre classeur (qui est ouvert lorsque la macro tourne).

Cette boucle me permet de faire le passage d'un onglet avec pleins de colonnes à un onglet plus "concentré" avec des concaténations de plusieurs colonnes.



Quand je fais la formule =recherchev(I2;pays;2;faux), la formule tourne bien et me sort le bon résultat. Quand je passe par la macro, elle ne me ressort rien, comme si elle ne trouvait pas de correspondance entre la matrice "pays" et la cellule recherchée.
Au début, je pensais à un problème de format des cellules, mais visiblement non.

Si vous avez une idée, astuce ou quoi que ce soit pour me dépatouiller de cela, je suis preneuse !

Merci par avance, vous trouverez le code plus bas. Bon week end !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim MonClasseur As Workbook
Dim pays As Range
 
   Set MonClasseur = Workbooks("Application V2.xlsm")
   Set pays = MonClasseur.Worksheets("DATA_macro").Range("E:F")
 
For i = 2 To Derniere_Ligne
    Worksheets("CANAL_COURRIER").Cells(i, 1) = Worksheets("CANAL_EXPORT").Cells(i, 1)
    Worksheets("CANAL_COURRIER").Cells(i, 2) = Worksheets("CANAL_EXPORT").Cells(i, 2)
    Worksheets("CANAL_COURRIER").Cells(i, 3) = Worksheets("CANAL_EXPORT").Cells(i, 3)
    Worksheets("CANAL_COURRIER").Cells(i, 4) = Worksheets("CANAL_EXPORT").Cells(i, 4) & " " & Worksheets("CANAL_EXPORT").Cells(i, 5) & " " & Worksheets("CANAL_EXPORT").Cells(i, 6)
    Worksheets("CANAL_COURRIER").Cells(i, 5) = Worksheets("CANAL_EXPORT").Cells(i, 7)
    Worksheets("CANAL_COURRIER").Cells(i, 6) = Worksheets("CANAL_EXPORT").Cells(i, 8)
    Worksheets("CANAL_COURRIER").Cells(i, 7) = Worksheets("CANAL_EXPORT").Cells(i, 9)
    Worksheets("CANAL_COURRIER").Cells(i, 8) = Worksheets("CANAL_EXPORT").Cells(i, 10) & " " & Worksheets("CANAL_EXPORT").Cells(i, 11) & " " & Worksheets("CANAL_EXPORT").Cells(i, 12)
    Worksheets("CANAL_COURRIER").Cells(i, 9) = Worksheets("CANAL_EXPORT").Cells(i, 13)
On error Resume Next
    Worksheets("CANAL_COURRIER").Cells(i, 10) = WorksheetFunction.VLookup(Cells(i, 9), pays, 2, False)
 
Next i