Copier coller dans des feuilles protégées

Résolu
Bonjour, je suis un débutant dans la programmation et j'aurai besoin de vos conseils pour le problème suivant.
je saisie des données dans un petit programme excel a partir d'une page d'accueil , puis avec une macro j'insert et je copie les données dans 2 autres feuilles protégées.
mon problème c'est que l'insertion des lignes dans ces autres feuilles se fait normalement, mais pas les données .
j'utilise une macro qui déprotège les feuilles et protège à nouveau. mais un message d'erreur dans VBA à la ligne de copier coller.
ci joint la macro en question
merci de vos réponse alain_98
Sub enregistrement_données()
Sheets("BD").Select
ActiveSheet.Unprotect ("m_d_passe")
Rows("10:10").Insert Shift:=xlDown
Sheets("TSS").Select
ActiveSheet.Unprotect ("m_d_passe")
Rows("10:10").Insert Shift:=xlDown
Sheets("Accueil").Select
Range("A2:J2").Copy
Sheets("BD").Select
Range("A10").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Accueil").Select
Range("A3:J3").Copy
Sheets("TSS").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Protect ("m_d_passe")
Sheets("Accueil").Select
Range("a3:j3").Copy
Sheets("BD").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Protect ("m_d_passe")
Sheets("Accueil").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("F13:F14,F16,F18,F20,F22,H13:H14,H16,H18,H20,H22").Select
Range("H22").Activate
Selection.ClearContents
Range("F13").Select
End Sub

4 réponses

  1. Contributeur
    Bonjour,
    Quel ligne exactement, parcque je vois bien où ca pourrais survenir mais je n'en suis pas certain.
    A+
    0
    1. merci pour ton aide en fait j'ai trouvé la solution et t'envoies la macro complète modifié.
      il me reste 2 problèmes. le 1er est que la cellule f 22 égale à la cellule f20 x par la cellule (d22 non copier celle-ci), de la page d'accueil est copier avec la macro dans les autres feuilles si je la vérrouille (f22) j'ai un message d'erreur 1004 excatement. il faut la déverouiller pour quelle fonctionne.
      2ème problème est que je souhaite que mon programme ne soit pas pirater mais je ne sais pas faire. c'est à dire que je voudrai faire une macro ou autre qui en fonction d'un critère bloquerai la saisie des données.
      Merci pour ton aide alain_98.
      voici la macro.
      Sub enregistrement_données()
      Sheets("BD").Select
      ActiveSheet.Unprotect ("m.d.p")
      Rows("10:10").Insert Shift:=xlDown
      Sheets("TSS").Select
      ActiveSheet.Unprotect ("m.d.p")
      Rows("10:10").Insert Shift:=xlDown
      Sheets("Accueil").Select
      Range("A2:J2").Copy
      Sheets("BD").Select
      Range("A10").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
      Sheets("Accueil").Select
      Range("A3:J3").Copy
      Sheets("TSS").Select
      Range("A10").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
      ActiveSheet.Protect ("m.s.p")
      Sheets("Accueil").Select
      ActiveSheet.Unprotect ("m.d.p")
      Range("F13:F14,F16,F18,F20,F22,H13:H14,H16,H18,H20,H22").Select
      Application.CutCopyMode = False
      Selection.ClearContents
      Range("F13").Select
      ActiveSheet.Protect ("m.d.p")
      End Sub
      0
      1. Contributeur
        re.
        Sheets("BD").Select
        Range("A10").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

        là y a une erreur, tu copie sur la sélection mais t'a rien sélectionné ??
        Autre remarque,tu copie 2 fois, une fois pour les valeur et une fois pour les format.....

        En fait j'ai fait fonctionner comme tu a fait, la seule chose que j'ai réussi à faire c'est de planter le classeur. erreur 1004 et plus possible de sélectionné une cellule et c'est bien le code mis en remarque ci-dessus qui en est la cause.
        Bon, j'ai ouvert un autre classeur ...
        je reprend; les lignes...
        Sheets("BD").Select
        Range("A10").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False


        sont à remplacer par...
             Sheets("BD").Select
            Range("A10").Select
        'Copie tout, les valeurs et les formats.
            ActiveSheet.Paste

        et c'est tout.

        la même chose pour la 2èm copie.

        D'après moi ton erreur 1004 est réglée.

        Reste ta 2èm question, dans l'IDE tu peu verrouillé le code avec un mot de passe (tâche de pas l'oublié) le code de protection classeur ont sait le faire sauter mais celui là je sais pas?
        Dans l'IDE >> outils >> propriétés de VBAprojet >> Protection... ça répond pas exactement à ce que tu veux mais c'est toujours ça.
        Tu dit...
        0
        1. Bonjour Lermitte222, et tous les accros d'excel et du VBE.
          j'ai modifié la macro et elle fonctionne parfaitement. je te remercie pour ton aide, je n'ai pas fini de faire toutes les macros, mais je ne désespère pas,en faites je fais ça pendant mon temps libre.
          si j'ai besoin de conseils supplémentaires des accros de la programmation je ferai certainement appel de nouveau à vous.
          En attendant, gros merçi.
          igniorant, mais j'ai des excuses, je débutes
          alain_98.
          0