Récupérer une ligne dans une feuille protégée

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zephir94

XLDnaute Impliqué
Bonsoir à tous,

J'ai un soucis, voici mon problème :
Je récupère une ligne dans une feuille qui peut être protégée ou pas selon le moment.
Si ma feuille n'est pas protégée il n'y a pas de soucis, par contre si elle est protégée la il y a problème !
J'ai donc pensée à mettre une vérification de l'état de la feuille au niveau de son état.
comme ceci :

Code:
If Sheets("synoptique").Protect Then
Sheets("synoptique").Unprotect password:="blabla"
Sheets("synoptique").Range("F4:DZ4").Copy Destination:=Sheets("synoptique").Range("F5:DZ5")
UserForm5.OptionButton1.Value = True
Application.ScreenUpdating = True
Sheets("agent").Protect password:="dédé"
Sheets("synoptique").Protect password:="blabla"
Else
End If
End Sub

évidement cela ne fonctionne pas, il faut que si la feuille est protégée je la déprotège pour écrire dedans et la re protéger, et si elle n'est pas protégée et bien ne rien faire car cela fonctionne bien !
J'espères avoir était claire !
Merci par avance à vous tous
 
Re : Récupérer une ligne dans une feuille protégée

Bonsoir ,

Comme cela peut être

Code:
Sub ff()
If Sheets("synoptique").ProtectContents Then
  Sheets("synoptique").Unprotect Password:="blabla"
  heets("synoptique").Range("F4:DZ4").Copy Destination:=Sheets("synoptique").Range("F5:DZ5")
  UserForm5.OptionButton1.Value = True
  Application.ScreenUpdating = True
  Sheets("agent").Protect Password:="dédé"
  Sheets("synoptique").Protect Password:="blabla"
End If
End Sub
 
Re : Récupérer une ligne dans une feuille protégée

Merci camarchepas,

je viens d'apprendre ProtectContents et je t'en remercie mais je protège à la fin du compte la feuille après, ce que je voudrais
si elle est protégée je la déprotège j'écris dedans et je la re protège par contre si elle n'est pas protégée je ne la re protège pas !
j'espères avoir été claire !
Merci à toi
 
Re : Récupérer une ligne dans une feuille protégée

j'ai essayé de re penser la chose comme ceci :

Code:
Application.ScreenUpdating = False
Sheets("agent").Unprotect password:="sdis77"
If Sheets("synoptique").ProtectContents Then
   Sheets("synoptique").Unprotect password:="bigboss"
   Sheets("synoptique").Range("F4:DZ4").Copy Destination:=Sheets("synoptique").Range("F5:DZ5")
   UserForm5.OptionButton1.Value = True
   Application.ScreenUpdating = True
   Sheets("agent").Protect password:="dede"
   Sheets("synoptique").Protect password:="bigboss"
 Else

   Sheets("synoptique").Range("F4:DZ4").Copy Destination:=Sheets("synoptique").Range("F5:DZ5")
   UserForm5.OptionButton1.Value = True
   Application.ScreenUpdating = True
   Sheets("agent").Protect password:="dede"
End If
End Sub

mais ma ligne ne se copie pas ni quand la feuille est ou pas protégée !
 
Re : Récupérer une ligne dans une feuille protégée

Et comme ceci peut être

Code:
Sub ff()
Dim Protegé As Boolean

With Sheets("synoptique")
  Do
  If Protegé Then
    .Unprotect Password:="blabla"
   Else
    Protegé = IIf(Protegé, False, True)
    End If
  On Error Resume Next
  .Range("F4:DZ4").Copy Destination:=.Range("F5:DZ5")
  Loop Until .Range("F4") = .Range("F5") And Err.Number = 0
  On Error GoTo 0
  UserForm5.OptionButton1.Value = True
  Application.ScreenUpdating = True
  Sheets("agent").Protect Password:="dédé"
  If Protegé Then .Protect Password:="blabla"
End With
 
Dernière édition:
Re : Récupérer une ligne dans une feuille protégée

Tu peux détailler ce qui ne marche pas ,
si tu joignais un petit fichier exemple, juste avec une ou 2 lignes en mettant dans le fichier ce que tu veux.

car je pense ne pas avoir tous compris , malheureusement , l'age des neurones peut être ....
 
Re : Récupérer une ligne dans une feuille protégée

Youpiiii j'ai trouvé en repartant de ma première idée, à savoir

Code:
If ThisWorkbook.Sheets("synoptique").ProtectContents = True Then
  Sheets("synoptique").Unprotect password:="big"
 Sheets("synoptique").Range("F4:DZ4").Copy Destination:=Sheets("synoptique").Range("F5:DZ5")
 UserForm5.OptionButton1.Value = True
 Application.ScreenUpdating = True
  Sheets("synoptique").Protect password:="big"
 Sheets("agent").Protect password:="dede"
Else
 Sheets("agent").Unprotect password:="dede"
  Sheets("synoptique").Range("F4:DZ4").Copy Destination:=Sheets("synoptique").Range("F5:DZ5")
 UserForm5.OptionButton1.Value = True
 Application.ScreenUpdating = True
End If

j'avais oublié le = true , mais je te remercie camarchepas car je pense que sans ProtectContents je serais très certainement entrain de m'arracher les cheveux.

Un grand merci à toi pour ton aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
582
Réponses
7
Affichages
726
Réponses
2
Affichages
546
Retour