La methode pastespecial a aechoue

Bonjour,

Grosse prise de tete, erreur 1004 la methode pastespecial de la class range a echoue.

(Je veux simplement importer les formats de la feuille MF du classeur tarot2016 dans la feuille stat du classeur 01082016

Pour ce faire apres ouvertture du classeur 2016 , je clique sur l'icone import en renseignant 01082016 je vais qui lance macro impresult.

Le message d'erreur intervient sur la ligne en gras .

Sub lesbest()

Dim pren(200) As Byte, contrat(200) As Byte, score(200) As Single, nbses As Integer, j As Integer, libnom(5) As String, libc(4) As String

Dim v As Variant, VV As Variant, vt As Range, rv As Range

wb2.Activate

Worksheets("MF").Activate

Range("A1:C23").Copy

wb1.Activate

Worksheets("stats").Unprotect

Worksheets("stats").Activate

' Range("H42:J64").Select

' Selection.ClearContents

Range("H42:J64").PasteSpecial xlPasteFormats

Alors si je vais dans le menu excel execution, reinitialiser et que je refais la meme chose en relançant la macro , alors la ça passe nickel !!!!! Pourquoi ???

54tarot2016.xlsm (338.20 Ko)

Bonjour,

Quand on copie une plage ( Range("A1:C23").Copy )

Au moment de la coller, on ne donne pas une plage ( Range("H42:J64").PasteSpecial xlPasteFormats )

Mais, on renseigne seulement la cellule du coin supérieur-gauche ( Range("H42").PasteSpecial xlPasteFormats )

La plage est déjà déterminée par la copie :

  • cette colonne et deux autres à droite
  • celle ligne et 22 autres vers le bas

Gelinotte

merci de votre reponse, j'avais vu cette réponse dans un autre post, j'ai essayé mais probleme identique meme erreur avec

Range("H42").PasteSpecial xlPasteFormats, et toujours bizarrement lorsque on passe en debogage et que l'on reinitialise et qu'on relance la macro ça fonctionne ???

Bonjour

Au début de la macro "lesbest"

Change

  wb2.Activate
  Worksheets("MF").Activate
  Range("A1:C23").Copy
  wb1.Activate
  Worksheets("stats").Unprotect
  Worksheets("stats").Activate
  ' Range("H42:J64").Select
  ' Selection.ClearContents
  Range("H42:J64").PasteSpecial xlPasteFormats

Pour ...

  wb2.Activate
  Worksheets("MF").Range("A1:C23").Copy
  wb1.Activate
  Worksheets("stats").Unprotect
  Worksheets("stats").Range("H42").PasteSpecial xlPasteFormats

Gelinotte

Bonsoir,

j'ai applique a la lettre la modification préconisée, toujours message erreur 1004, methode pastespecial de la classe range a echoué.

le passage en debogage positionne sur la ligne worksheets("stats").Range("H42").PasteSpecial xlPasteFormats et une fois reiinitialiser ça fonctionne lors du 2 eme passage (petite precision si je ferme le fichier starotlibJJMMAAAA sans le sauvegarder ça plante aussi, lors de l'éxécution de lamacro par contre si je le ferme en le sauvegardant alors la ça fonctionne.

La solution est peut-etre la... que ce passe t-il dans le fichier starotlibJJMMAAAA , qu'y a t-il de rajouter? (mystère )

ça y ai j'ai trouve le probleme, c'est la protection de la feuille stats du fichier starotJJMMAAAA qui pose probleme, lorsque je deprotege cette feuille manuellement dans le menu excel avant de lancer la macro ça fonctionne, mais je ne comprends pas

pourquoi le code placé avant ne fonctionnait pas

il faut deproteger la feuille stats du classeur starotJJMMAAAA avant de faire la copie de la feuille MF du classeur tarot2016 et non après et la c'est ok

voici le code modifier qui fonctionne

wb1.Activate

Worksheets("stats").Range("H42").PasteSpecial xlPasteFormats

Rechercher des sujets similaires à "methode pastespecial aechoue"