Erreur 1004 Methode Copy à échouée (XLA)

Bonjour à tous,

Je rencontre un bien étrange problème, après avoir créé une macro complémentaire qui fonctionne parfaitement avec le classeur dans laquelle elle à été élaboré, lorsque je l'utilise avec un autre classeur, je rencontre une erreur :

'Erreur 1004' : La méthode Copy de la classe Worksheet à échoué

Voici le code qui rencontre cette erreur :

Dim wkA As Workbook, wkB As Workbook
Dim Chemin As String, fichier As String

'classeur A qui contient la macro
Set wkA = ThisWorkbook

'chemin ou se trouve le fichier B
Chemin = "------chemin fichier B--------"
Titre = "" & TypeObjet & " " & varExcel & ".xlsx"

'ouvre le fichier B
Workbooks.Open Chemin & Titre

'met en variable le classeur B
Set wkB = ActiveWorkbook

wkA.Activate

    'Desactivation des alertes
    Application.DisplayAlerts = False

  For I = 1 To 17
wkB.Sheets(I).Copy Before:=wkA.Sheets(I)
    Next

Erreur à ce niveau :

wkB.Sheets(I).Copy Before:=wkA.Sheets(I)

Cela fonctionne bien sur le classeur ou à été créé la Macro, j'imagine donc qu'il y a peut-être un problème avec "ThisWorkBook" qui n'est peut être pas reconnu comme le classeur ou à été créé la macro ?

Merci pour votre aide à venir

Cdt,

Civod

Bonjour.

Regarder par ici https://support.microsoft.com/fr-fr/kb/210684

Bonne journée.

Elhevan a écrit :

Bonjour.

Regarder par ici https://support.microsoft.com/fr-fr/kb/210684

Bonne journée.

Merci,

D'après l'exemple et ce que j'ai pu trouver sur internet, cette erreur arrive souvent lorsque l'on copie un certain nombre de feuilles, j'en copie 17 ce qui n'est pas grand chose, de plus l'erreur arrive dès la première copie et non pas au bout d'un certains nombre. Je regarde pour la solution de contournement

Bonsoir,

Ta macro est imbuvable... mais tu as donné toi-même la réponse : ThisWorkbook est toujours le classeur qui contient la macro...

MFerrand a écrit :

Bonsoir,

Ta macro est imbuvable... mais tu as donné toi-même la réponse : ThisWorkbook est toujours le classeur qui contient la macro...

On fait comme on peut

J'ai essayé de remplacer ThisWorkbook par :

Set wka = ActiveWorkbook

Mais dans ce cas la, je rencontre une autre erreur 1004 disant : Excel ne parvient à insérer les feuilles dans le classeur de destination car il contient moins de ligne et de colonne que le classeur source.

C'est étrange car je n'ai jamais cette erreur lorsque je lance la macro avec son classeur.

Bonjour,

en fait ton problème viens du XLA .. tu ne peu pas copier des feuilles d'un XLA ...

essai de by-passer cela en passant la propriété isAddin de ton classeur à false temporairement..

wka.IsAddin = false
For I = 1 To 17
wkB.Sheets(I).Copy Before:=wkA.Sheets(I)
    Next

wka.IsAddin = true

En fait j'ai résolu le probème avec un simple :

Set wkA = Workbooks("Nom_Fichier.xlsx")

Le problème venait bien du "ThisWorkBook" qui n'était pas reconnu ds le nouveau classeur.

Merci a tous pour votre aide

Civod K a écrit :

En fait j'ai résolu le probème avec un simple :

Set wkA = Workbooks("Nom_Fichier.xlsx")

Le problème venait bien du "ThisWorkBook" qui n'était pas reconnu ds le nouveau classeur.

Merci a tous pour votre aide

non ThisWorkBook est TOUJOURS le classeur contenant le code en train de s'exécuté par un classeur créé ou ouvert ensuite ..!

Rechercher des sujets similaires à "erreur 1004 methode copy echouee xla"