XL 2021 Liste Deroulante modifier oui non

Plans24

XLDnaute Nouveau
Bonjour a tous ceux qui animent ce forum et qui aident des debutants comme moi
vous etes formidables 🙏👌👍

Ma demande concerne une Liste Deroulante Oui Non qui autorise ou nom la modification

dans mon exemple la liste deroulanteest en A2
Comment si NON bloquer la modification des celules B3 C3 a B7 C7
Comment si OUI debloquer la mofication des celules de B3-C3 a B7-C7
J ai joins mon fichier exemple
un grand Merci de votre aide
 

Pièces jointes

  • Liste modifier oui non.xlsx
    9.1 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bonsoir Plans24,

A placer dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If LCase([A2]) = "oui" Or Intersect(Target, [B3:C7]) Is Nothing Then Exit Sub
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End Sub
A+
 

Pièces jointes

  • Liste modifier oui non.xlsm
    14.9 KB · Affichages: 5

fanch55

XLDnaute Barbatruc
Salut à tous,
Ccode à mettre dans celui de la feuille :
VB:
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case True
    Case Intersect(Target, [B3:C7]) Is Nothing: ' rien hors zone
    Case [A2] = "non":
        Application.EnableEvents = False
        Application.Undo
        Application.EnableEvents = True
    End Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If [A2] = "non" And Not Intersect(Target, [B3:C7]) Is Nothing Then
        [A2].Select
    End If
End Sub

Oh purée, j'avais pas fait de refresh,
3 autres interventions
Pas mieux qu'eux ....
 

Plans24

XLDnaute Nouveau
Salut à tous,
Ccode à mettre dans celui de la feuille :
VB:
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case True
    Case Intersect(Target, [B3:C7]) Is Nothing: ' rien hors zone
    Case [A2] = "non":
        Application.EnableEvents = False
        Application.Undo
        Application.EnableEvents = True
    End Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If [A2] = "non" And Not Intersect(Target, [B3:C7]) Is Nothing Then
        [A2].Select
    End If
End Sub

Oh purée, j'avais pas fait de refresh,
3 autres interventions
Pas mieux qu'eux ....
Merci beaucoup pour votre aide ;)👍🙏
 

vgendron

XLDnaute Barbatruc
bonjour
pour mettre du code
1) Ouvrir l'éditeur VBA : Alt +F11
2) dans l'explorateur de projet à gauche, double clic sur le nom de la feuille dans laquelle on veut mettre le code: Ici; feuille "Feuille1(Sheet1)"
3) dans la fenêtre de code qui s'ouvre à droite, copier coller le code
4) fermer l'éditeur

5) à l'enregistrement du fichier, choisir "non" pour pouvoir enregistrer AVEC macro ==> l'extension du fichier devient .xlsm (m comme macro)
 

Plans24

XLDnaute Nouveau
bonjour
pour mettre du code
1) Ouvrir l'éditeur VBA : Alt +F11
2) dans l'explorateur de projet à gauche, double clic sur le nom de la feuille dans laquelle on veut mettre le code: Ici; feuille "Feuille1(Sheet1)"
3) dans la fenêtre de code qui s'ouvre à droite, copier coller le code
4) fermer l'éditeur

5) à l'enregistrement du fichier, choisir "non" pour pouvoir enregistrer AVEC macro ==> l'extension du fichier devient .xlsm (m comme macro)
J ai bien passé les etapes 1 a 4 en adaptant le code aux celules concernees L2 et M3 A N7

2024-12-13 (3).png


Mais a l'enregistrement j'obtient ceci

2024-12-13.png


avez vous une idee ?
Merci
pascal
 

Statistiques des forums

Discussions
315 085
Messages
2 116 071
Membres
112 648
dernier inscrit
Otete Christian