Erreur 1004 : la methode pastespecial de la classe range à échouée

chill

XLDnaute Nouveau
Bonjour à tous,

Voila à l'éxécution de ma macro, excel me sort l'erreur suivante : "la methode pastespecial de la classe range à échouée", seulement, je n'ai aucune idée de ce qui pourrait clocher dans ma fonction !

Si quelqu'un pourrait m'aguiller un peu, car je suis vraiment perdu niveau macro !

Merci à tous

Code:
Sub Macro7()
'
If Range("C6") = "" Then
    MsgBox ("Erreur : Champs vendeur non renseigné. Merci de le remplir et sauvegarder a nouveau !")
    Exit Sub
End If

If Range("M6") = "" Then
    MsgBox ("Erreur : Champs jour non renseigné. Merci de le remplir et sauvegarder a nouveau !")
    Exit Sub
End If

If Range("N6") = "" Then
    MsgBox ("Erreur : Champs mois non renseigné. Merci de le remplir et sauvegarder a nouveau !")
    Exit Sub
End If

If Range("Q6") = "" Then
    MsgBox ("Erreur : Champs année non renseigné. Merci de le remplir et sauvegarder a nouveau !")
    Exit Sub
End If
        
'Vider le presse papier
Dim oDataObject As DataObject

Set oDataObject = New DataObject
oDataObject.SetText ""
oDataObject.PutInClipboard

Set oDataObject = Nothing
'Copitage
    Sheets("Journée").Select
    Sheets("Journée").Unprotect Password:="mat"
    Rows("62:62").Select
    Selection.Copy
    Sheets("Journée").Protect Password:="mat"
    
'Ouvre synthese
    Workbooks.Open Filename:="synthese.xlsm"
    Windows("synthese.xlsm").Activate
'deprotege
    Sheets("BDD").Select
'calcul derniere ligne non ecrite
    Dim nbLigne As Long
    nbLigne = Range("B65536").End(xlUp).Row + 1
'la selectionne
    Rows(nbLigne).Select
    Sheets("BDD").Unprotect Password:="mat"
'collage
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
'protege
    Sheets("BDD").Protect Password:="mat"
'ferme et sauvegarde
    Application.AlertBeforeOverwriting = False
    ThisWorkbook.Save
    ActiveWorkbook.Close SaveChanges:=True
'retourne sur feuille
    Windows("feuille de journée vierge.xlsm").Activate
    Sheets("Journée").Select
    Range("G58").Select
'message
    MsgBox ("Sauvegarde correctement effectuée. Pensez à enregister le fichier avant de quitter.")
End Sub
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Erreur 1004 : la methode pastespecial de la classe range à échouée

Bonjour chill, salut Victor21 :D

Une autre possibilité est de vérifier si une (voire plusieurs!) des manipulations effectuées entre la copie et le collage spécial n'annule(nt) pas la copie: dans le cas présent, re-protéger la feuille, juste après la copie doit aboutir à ce résultat ... et ce sera peut-être le cas d'autres instructions figurant dans le code!
 

chill

XLDnaute Nouveau
Re : Erreur 1004 : la methode pastespecial de la classe range à échouée

Salut à tous,

Je me suis rendu compte que mon erreur était un problème d'affichage des feuilles, si je copie la ligne pleine seulement après avoir selectionné la ligne vide, la macro fonctionne. Je ne comprends pas pourquoi mais c'est comme ça ! :confused:

Merci a vous deux,
Chill
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote