Copier une ligne dans une feuille protégée

Résolu/Fermé
Nitrof48 Messages postés 3 Date d'inscription jeudi 25 juillet 2013 Statut Membre Dernière intervention 25 juillet 2013 - 25 juil. 2013 à 16:00
 Nitrof48 - 25 juil. 2013 à 18:31
Bonjour,

Je travaille avec EXCEL 2003. J'ai une feuille (facture) que je veux protéger par mot de passe qui est le résultat de plusieurs calculs. Pour ajouter une ligne j'ai une commande macro qui fonctionne lorsque cette feuille est non protégée. Si je protège la feuille le système bloque la commande lorsqu'elle doit copier la dernière ligne.
Voici la commande

'« PHASE 1 »

Sheets("Registre employé").Select
'Copie les lignes "A" à "GE"
Range("A" & Range("A65536").End(xlUp).Row).Resize(2, 187).FillDown
'On Error Resume Next

' Efface les infos colonnes "C" à "T"
Range("c" & Range("c12").End(xlDown).Row).Resize(2, 18).SpecialCells(xlCellTypeConstants).ClearContents

' Efface la cellule "AN" (Code maladie)
Range("A" & Range("A65536").End(xlUp).Row).Select
ActiveCell.Offset(0, 39).ClearContents

' Efface la cellule "AS" (période d'attente)
Range("A" & Range("A65536").End(xlUp).Row).Select
ActiveCell.Offset(0, 44).ClearContents

' Efface la cellule "AT" (terminaison d'emploie)
Range("A" & Range("A65536").End(xlUp).Row).Select
ActiveCell.Offset(0, 45).ClearContents

'« PHASE 2 »

Sheets("Ajout Empl").Visible = True
Sheets("Ajout Empl").Select
Range("P1:AF1").Select
Selection.Copy

Sheets("Registre employé").Select
Range("A" & Range("A65536").End(xlUp).Row).Select
ActiveCell.Offset(0, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'efface les informations ds les cellules
Sheets("Ajout Empl").Select
Range("E17:G21").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("E23").Select
Application.CutCopyMode = False
Selection.ClearContents

'efface code postal
Range("E23").Select
Selection.ClearContents

'efface profession
Range("J16:M16").Select
Selection.ClearContents

'efface sex etc
Range("M17:M20").Select
Selection.ClearContents

'efface ddn etc
Range("J17:K19").Select
Selection.ClearContents

'efface code postal
Range("E23").Select
Selection.ClearContents

'recodifie les dernier enregistrement
Range("E14").Select
ActiveCell.FormulaR1C1 = "=RC[7]+1"

'ferme le dossier
Sheets("Ajout Empl").Visible = False

'ajoute une ligne ds déductions
Sheets("Facture").Select
Range("A" & Range("A65536").End(xlUp).Row).Resize(2, 130).FillDown


'pointe le dernier enregistrement
Sheets("Registre employé").Select
Range("A" & Range("A65536").End(xlUp).Row).Select
Application.CutCopyMode = False
Selection.Copy

'ouvre fiche d'adhésion et sélectionne le dernier enregistrement
Sheets("Fiche").Visible = True
Sheets("Fiche").Select
Range("Z7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Fiche").Select
Range("j10").Select


End Sub
A voir également:

3 réponses

Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
25 juil. 2013 à 16:10
Bonjour,
Tu pourrais déprotéger la feuille, puis la reprotéger ?
Sheets("Facture").Unprotect
'...
Sheets("Facture").Protect
0
J'ai tenté la commande mais voici que le système demande le mot de passe pour déprotéger la feuille.

Et si je protège la feuille sans mot de passe je ne suis pas plus avancé.

Avez-vous une autre suggestion ?
0
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
25 juil. 2013 à 17:35
En ajoutant le mot de passe ? :)

Sheets("Facture").Unprotect Password:="MonMotDePasse" 
'... 
Sheets("Facture").Protect Password:="MonMotDePasse"


                
0
Merci ça fonctionne
0