Bonjour à tous et merci d'avance pour votre temps.Excel VBA - Copie de divers classeurs nommés range dans un classeur "recap"
Je ne suis pas un grand spécialiste de la vba mais parfois cela m'aide à gagner du temps sur les tâches répétitives sur lesquelles je travaille.
Je voudrais recueillir des informations de divers fichiers dans un fichier "recap". J'ai nommé certaines plages (une cellule chacune) pour faciliter la recherche de ces informations dans tous les fichiers.
Voici les lignes que je commence à écrire:
Sub collectdata()
Set a = Workbooks.Open("C:\full address\Project1.xlsx")
Set b = Workbooks.Open("C:\full address\Project2.xlsx")
Set c = Workbooks.Open("C:\full address\Project3.xlsx")
ThisWorkbook.Sheets("Data").Range("C3") = a.Application.Range("Project1_Total")
ThisWorkbook.Sheets("Data").Range("C3") = b.Application.Range("Project2_Total")
ThisWorkbook.Sheets("Data").Range("C3") = c.Application.Range("Project3_Total")
a.Close savechanges:=False
b.Close savechanges:=False
c.Close savechanges:=False
End Sub
Je suis coincé avec l'erreur 1004. Je pense que je sais pourquoi, mais je ne sais pas comment corriger cela.
Avec un "projet" tout va bien.
Mais une fois que j'ajoute un deuxième fichier, j'obtiens l'erreur 1004.
Avec une plage nommée d'un projet c'est correct. Mais une fois que j'ajoute une deuxième plage nommée à partir du même fichier, j'obtiens l'erreur 1004.
Merci pour votre temps.
Vous avez besoin de a.Sheets(), b.Sheets() etc ... comme vous le faites sur le côté gauche - plutôt que d'un.Application, b.Application, etc ... – CallumDA