Erreur '1004' : La méthode PasteSpecial de la classe range a échoué

Bonjour à tous,

C'est mon tout premier message et j'espère que vous serez indulgent sur la forme !

J'ai fais le tour du forum et je n'ai pas trouvé de solution à mon problème.

L'erreur suivante s'affiche suite à l’exécution d'un copier/coller en valeur d'un fichier vers un autre.

Message d'erreur : Erreur d'exécution '1004':

La méthode Paste Speical de la classe range a échoué

Sub Actualisation_bdd()
Workbooks.Open Filename:="\\Geac01fich1\DV_users\FVL_France\xx\xx\xx\Vérification FIFO\" & "Extraction Sochaux" & ".xls"
Worksheets("Extraction Sochaux").Activate
Range("A2:K5000").Select
Selection.Copy

    Windows("Vérification FIFO Sochaux.xlsm").Activate
    Sheets("Extraction NOMAD").Activate
    Cells.Clear
    Sheets("Extraction NOMAD").Activate
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Workbooks("FIFO - Guichet - Sochaux.xlsx").Close True
End Sub

Le debogage pointe le problème à cet endroit :

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Si vous avez une solution je suis preneur

Merci par avance pour votre aide !

Bonne journée à tous !

Salut et bienvenue sur le Forum,

Je n'ai pas compris si tu travaillais sur 2 ou 3 fichiers, c'est à dire si ta macro est placée dans l'un des deux fichiers mentionnés dans ton code ou alors dans un troisième fichier.

Apparament les instructions suivantes créent problèmes.

    Sheets("Extraction NOMAD").Activate
    Cells.Clear

Essaie de les placer avant la ligne Workbooks.Open Filename:="\\Geac01fich1\DV_users\FVL_France\xx\xx\xx\Vérification FIFO\" & "Extraction Sochaux" & ".xls"

Si ce n'est pas ça, il faudrait avoir tes fichiers à disposition.

Cordialement.

Bonjour Yvouille,

Merci pour ton retour.

Effectivement on est sur la piste car le message d'erreur a changé en mettant les 3 lignes de code au début de la macro.

Voici la message d'erreur maintenant :

Erreur d'exécution '-2147352565 (8002000b)

Le format et l'extension du fichier de "extraction Sochaux.xls" ne correspondent pas. Le fichier peut présent un risque ou avoir été endommagé. Ne l'ouvrez pas, à moins que la source soit fiable. Voulez-vous quand même l'ouvrir ?

Y'a un t'il un code pour répondre oui directement ?

Merci par avance

Re-salut,

Tu ne me dis toujours pas si tu travailles sur 2 ou 3 fichiers.

Si ta macro est dans un troisième fichier et que le fichier "Vérification FIFO Sochaux.xlsm" est ouvert à l’écran, tu dois éventuellement d’abord activer le fichier "Vérification FIFO Sochaux.xlsm" et la feuille "Extraction NOMAD" avant de pouvoir la modifier par l’instruction Cells.Clear.

Si en revanche le fichier "Vérification FIFO Sochaux.xlsm" est celui qui contient la macro, essaie de simplement activer la feuille "Extraction NOMAD" – si elle ne l’est pas déjà - avant de pouvoir la modifier.

Et puis bon, contrôle quand même le format et l'extension du fichier de "extraction Sochaux.xls"

Si ce n'est pas ça, il faudrait avoir tes fichiers à disposition.

A te relire.

Yvouille,

Pour ce qui est du format il provient d'une extraction d'un logiciel qui ne permet d'avoir le fichier sous un autre format.

Cette macro est dans le fichier "Vérification FIFO Sochaux.xlsm"

Peut-être en enregistrant sous le fichier "Extraction Sochaux.xls" au format xlsx et ensuite copier coller les données du fichier xlsx ?

Pour ce qui est du format il provient d'une extraction d'un logiciel qui ne permet d'avoir le fichier sous un autre format.

Lequel ????

Si ce n'est pas ça, il faudrait avoir tes fichiers à disposition.

Yvouille,

Ci-joint les fichiers.

C'est un TMS (Transport Management System) sous le doux nom de NOMAD

Je ne peux pas envoyer le fichier xls car il serait vecteur d'attaque selon le forum

J'avoue ne pas arriver à t'aider si je n'ai pas tous tes fichiers à disposition. Si tu veux essayer de m'envoyer ce ficher .xls sur mon courriel privé .......

Sinon tu peux indiquer ce fil comme ''Résolu'' en cliquant sur le petit V dans l'un de tes messages et ouvrir un autre fil.

A toi de voir.

Oui je veux bien t'envoyer l'intégralité des fichiers, pourrais-tu m'envoyer ton courriel privé ?

En dessous de mon profil, tu cliques sur ''Contact", puis sur l'enveloppe.

[quote=Yvouille post_id=634273 user_id=1726]Désolé, mais je n’arrive pas à ouvrir ton fichier.

Je présume que lorsque ta macro veut ouvrir ce fichier, elle tombe sur le même problème que moi, raison pour laquelle elle bloque maintenant à ce nouvel endroit.

Il faudra que tu trouves une autre solution. Sorry. [/quote]

[quote=vincent3012 post_id=634267 user_id=55091]

Je comprends pas de soucis.

Connaîtrais-tu le code pour réaliser l'action suivante :

Ouvrir un fichier - l'enregistrer sous à un endroit réseau spécifique - l'enregistrer au format .xlsx avec tous ses fonctionnalités

Je te remercie pour ton temps en tous les cas

[/quote]

A l’aide de l’enregistreur de macro, tu aurais pu trouver ce code (bon, il faut quand même savoir l’épurer, mais tu peux le faire par tâtonnement)

Workbooks.Open Filename:="C:\Users\lacy\Documents\Démo.xls"
ActiveWorkbook.SaveAs Filename:="C:\Users\lacy\Documents\Yvouille\Copie de Démo.xlsx"

Suivant où est placé ton fichier comportant la macro (ThisWorkbook), tu peux récupérer son chemin. Admettons que mon fichier de base se trouve sous C:\Users\lacy\Documents j’aurais pu utiliser ces codes à la place

Workbooks.Open Filename:=ThisWorkbook.Path & "\Démo.xls"
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Yvouille\Copie de Démo.xlsx"

C’est spécialement utile si ThisWorkbook.Path fait 1 kilomètre.

Bonjour Yves,

J'avais déjà essayé cette technique mais le problème est que lorsque l'enregistrement se fait, c'est simplement l'intitulé du fichier qui change mais pas les fonctionnalités de l'xlsx.

Donc lorsque je veux ouvrir le fichier xlsx le message suivant apparaît :

Impossible d'ouvrir le fichier "Extraction Sochaux.xlsx" car son format ou son extension n'est pas valide. Vérifiez que le fichier n'est pas endommagé et que son extension correspond bien au format du fichier.

Je sais qu'il existe une ligne qui permet de prendre les fonctionnalités du format qu'on souhaite mais je ne la trouve pas.

Code en question :

Sub enregistrement_bdd()

Workbooks.Open Filename:="\\Geac01fich1\DV_users\FVL_France\PILOTAGE FRANCE\AFFRETEMENT\Opération FIFO\Vérification FIFO\Extraction Sochaux.xls"
ActiveWorkbook.SaveAs Filename:="\\Geac01fich1\DV_users\FVL_France\PILOTAGE FRANCE\AFFRETEMENT\Opération FIFO\Vérification FIFO\Extraction Sochaux.xlsx"

End Sub

J'ai trouvé finalement en ajoutant à la fin du SaveAs :

,FileFormat:=xlOpenXMLWorkbook

Bonne journée

Salut,

Désolé, mais je ne peux plus j'aider sur ce coup-là

Peu de membres s'intéressant à un fil déjà bien entamé, je te conseille d'indiquer ce sujet comme ''Résolu'' en cliquant sur le petit V dans l'un de tes messages et d'en ouvrir un autre avec cette question spécifique.

Chaleureusement.

Rechercher des sujets similaires à "erreur 1004 methode pastespecial classe range echoue"