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:
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!