Bonjour à tous,

j'espère ne pas générer de doublon, je n'ai pas trouvé de solution sur les sujets existants.

J'ai une macro dans laquelle je fais plusieurs copier-coller entre 2 fichiers (dans une boucle for), et j'ai un crash assez bizarre. Le premier passage de la boucle échoue à chaque fois. Je prends l'erreur "La méthode PasteSpecial de la classe Range a échoué"

Si avec le débogage je passe à l'itération suivante, tout se passe bien. Je sais que ce n'est pas lié au fichier (cellules fusionnées, etc) car cette erreur se produit aussi si je change 1ère colonne traitée. Une fois que j'ai eu l'erreur, je peux refaire tourner la macro autant de fois que je veux, je n'ai plus cette erreur.

Voici le code qui pose problème:

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
21
22
23
24
25
26
27
28
 
    For i = 7 To 8
    Workbooks("rapport.xlsm").Sheets("Macro").Activate
    country = Cells(i, 1).Value
    File = Cells(i, 2).Value
 
    FilePath = WorkingDirectory & "extract_pays\" & File
    File1 = "data.xlsx"
    File1Path = WorkingDirectory & File1
 
   On Error Resume Next
    Workbooks.Open (File1Path)
   On Error GoTo 0
 
 
    If Dir(FilePath) = "" Then
        MsgBox "Le fichier " & File & " n'existe pas.", vbExclamation, "Message Erreur"
    Else
        Workbooks.Open (FilePath)
        Windows(File).Activate
        Sheets("summary").Select
        Range("B:B").Select
        Selection.Copy
 
        Windows(File1).Activate
        Sheets("Feuil1").Select
        Cells(1, Application.WorksheetFunction.Match(country, Range("1:1"), 0)).Select
        Selection.PasteSpecial Paste:=xlPasteValues
Merci pour votre aide!