Erreur 1004 select range a échoué

Bonjour,

j'ai le même proble avec mon macro, en voulant sauvegarder dans le bon de commande en appuyant au bouton, il m'affiche l'erreur 1004
quelqu'un peux m'aider :
svp ça urge de mon coté.

voici la macro
Sub histoboncommande()
'
' histoboncommande Macro
'

'
    Sheets("Historique B Commande").Select
    ActiveWindow.SmallScroll Down:=-15
    Rows("5:5").Select
    Selection.Insert Shift:=xlDown
    Range("B5").Select
    Sheets("Bon de Commande").Select
    Range("D5").Select
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C5").Select
    Sheets("Bon de Commande").Select
    Range("B9").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("D5").Select
    Sheets("Bon de Commande").Select
    Range("C9").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E5").Select
    Sheets("Bon de Commande").Select
    Range("B10").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("F5").Select
    Sheets("Bon de Commande").Select
    Range("C10").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G5").Select
    Sheets("Bon de Commande").Select
    Range("B11").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("H5").Select
    Sheets("Bon de Commande").Select
    Range("C11").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("I5").Select
    Sheets("Bon de Commande").Select
    Range("B12").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J5").Select
    Sheets("Bon de Commande").Select
    Range("C12").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("K5").Select
    Sheets("Bon de Commande").Select
    Range("B13").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L5").Select
    Sheets("Bon de Commande").Select
    Range("C13").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("M5").Select
    Sheets("Bon de Commande").Select
    Range("D3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("N5").Select
    Sheets("Bon de Commande").Select
    Range("B5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Historique B Commande").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    Range("AH4").Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("A5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Bon de Commande").Select
    Range("B3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B22").Select
End Sub


EDIT : Correction des balises de code

Configuration: Windows / Chrome 71.0.3578.98

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour,

    Tu es passé par l'enregistreur de macro...
    résultat, tu as pleins de lignes inutiles et des répétition de code...

    Pourrais tu expliquer ce que tu veux faire exactement ?
    Tu ne veux "copier" que les valeurs ou tu veux aussi la mise en forme ?

    Dans l'idéal, montre nous un exemple de fichier (sans données confidentielles)
    Tu peux le déposer sur cijoint et nous coller le lien ici... https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

    1. https://www.cjoint.com/c/IADodKy5CX4

      le mot de passe pour l'utilisateur est : comptable
      pour l'administrateur est : gestionnaire
      1. Modérateur
        Et pour mes autres questions ?

        Sachant que.. si tes feuilles sont protégées par un password... normal que ça plante lorsque tu fais du copier/coller ...
        Il faut désactiver la protection le temps de faire les opérations puis réactiver ensuite...
    2. pour moi l'objectif était de restreindre l'accès à deux niveau, l'utilisateur et l'administrateur sans possibilité d'ajouter une nouvelle feuille et à chaque fois que tu ferme une feuille il te ramène sur l'acceuil
      avez - vous une meilleurs solution adapté à ma demande ??