Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Déverrouiller une ligne en visual basic

  • Initiateur de la discussion Initiateur de la discussion dudu35
  • Date de début Date de début

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 !

D

dudu35

Guest
Bonjour,

Je cherche à faire une macro qui me permettrait lorsque la feuille est protéger de déverrouiller juste une ligne apès avoir cliquer sur une cellule de cette ligne. En gros, je voudrais faire un bouton qui me permettrait de modifier toutes les données de la ligne correspondant à la cellules sélectionnée. Mon niveau en visual basic est très faible, merci de votre aide.
 
Re : Déverrouiller une ligne en visual basic

Bonjour Dudu35, le Forum,

C'est faisable mais si tu dévérouilles une ligne à chaque fois que tu cliques dessus
.......quel est l'intéret d'avoir vérouillé le document 😕

A+
 
Re : Déverrouiller une ligne en visual basic

Bonjour à toi,

Tu peux essayer ça

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' concidere la cellule A4 pour deverrouiller ta feuille
' si tu clic ailleur que sur la cellule A4 ta feuille reste verrouillée
If Target.Address <> "$A$4" Then
ActiveSheet.Protect ""
Exit Sub
End If
ActiveSheet.Unprotect ""
End Sub
 
Re : Déverrouiller une ligne en visual basic

Merci sebkil28 de ton aide, par contre je n'arrive pas à associer de bouton à ta formule. Est ce qu'il est possible de lui donner un nom pour l'associer? oui mon niveau est vraiment faible... 😀
 
Re : Déverrouiller une ligne en visual basic

Ok je crois comprendre ta demande.

Essai ça:

Tu cré ton button (CommandButton1 par ex.)

Ensuite dans le code de ta feuil:

Dim ligne As Variant
_______________________________________________________________
Private Sub CommandButton1_Click()

ActiveSheet.Unprotect "" ' tu peux mettre un MDP entre le guillemets
Application.EnableEvents = False ' evite la boucle infini
Cells.Select ' selection de toutes les cellules
Selection.Locked = True ' donne l'attribut verrouillé à toutes les cellules
Selection.FormulaHidden = True
Rows(ligne).Select ' selectionne la ligne à partir de la cellule selectionnée
Selection.Locked = False ' redonne l'attribut deverrouillé à la ligne
Selection.FormulaHidden = False
Application.EnableEvents = True
ActiveSheet.Protect "" ' reprotege la feuille

End Sub
_______________________________________________________________
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ligne = Target.Row


End Sub

Dit moi si ça te va 😎
 
Re : Déverrouiller une ligne en visual basic

Je viens d'essayer mais ça bloque, en tout cas je pense que tu as bien saisie ce que je cherchais à faire. Par contre j'ai essayé et ça me met "impossible de trouver la macro 'Projet.xls!CommandButton1'.

En tout cas merci pour le temps passé à m'aider.
 
Re : Déverrouiller une ligne en visual basic

Je pense que tu n'a pas créé correctement ton bouton.

Normalement, si tu crer un bouton il prend le nom par défaut "CommandButton1"
Sauf si tu as d'autres boutons de créés auquel cas il incrémente.

Ensuite, il faut aller dans VBA et ouvrir le module de ta Feuille de travail puis coller le code tel quel.
Autre façon de faire si tu ne sais pas trop où aller, quand tu insert ton bouton, tu clic droit dessus (En mode création) et dans le menu contextuel qui apparait tu clic sur visionner le code.
Tu te retrouve alors directement au bon emplacement pour coller la macro.

Je te mettrai en ligne un fichier exemple pour que tu comprenne bien.
Mais demain parce que ce soir... j'suis creuvé 😱
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
644
Réponses
23
Affichages
682
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…