je souhaite écrire une une macro qui permet à chaque clic de basculer entre oui et non dans la cellule G101, cette macro sera attribuée à une forme située sur la même feuille
Bonsoir Pat, Don_pets, Job,
Un essai en PJ avec action par clic gauche sur G101, avec.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [G101]) Is Nothing Then
If Target = "OUI" Then Target = "NON" Else Target = "OUI"
[F101].Select
End If
End Sub
ou par clic sur forme avec :
VB:
Sub OuiNon()
If [G101] = "OUI" Then [G101] = "NON" Else [G101] = "OUI"
End Sub
bonjour
a mettre dans un module et a relier avec la forme
si j'ai bien compris le problème
VB:
Sub oui_non()
Select Case StrConv(Range("G101").Text, vbUpperCase)
Case "", "NON": Range("G101") = "OUI"
Case "OUI": Range("G101") = "NON"
End Select
End Sub
Bonsoir Pat, Don_pets, Job,
Un essai en PJ avec action par clic gauche sur G101, avec.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [G101]) Is Nothing Then
If Target = "OUI" Then Target = "NON" Else Target = "OUI"
[F101].Select
End If
End Sub
ou par clic sur forme avec :
VB:
Sub OuiNon()
If [G101] = "OUI" Then [G101] = "NON" Else [G101] = "OUI"
End Sub
vos solutions fonctionnement parfaitement, j'opte pour la plus courte de sylvanu, bien que la solution de jpb388 sera très utile dans d'autres circonstances, comme par exemple d'ajouter un msgbox
VB:
Sub OuiNon()
If [G101] = "OUI" Then [G101] = "NON" Else [G101] = "OUI"
End Sub