Bonjour à tous,
Etant totalement novice dans tout ce qui touche aux macro et au VBA, je m'essaye à certaine chose et rencontre souvent pas mal de soucis
Mon soucis actuel :
J'ai trouvé la solution suivante afin de pouvoir créer des listes déroulantes multi-sélections sur Excel.
Une fois ce code appliqué, tout fonctionne parfaitement bien jusqu'au moment où je choisi de protéger ma feuille contre certaines modifications.
En fait j'ai certaines de mes plages de cellule déverrouillées (clic droit, format cellule, protection, verrouillée décoché).
Ensuite je vais dans révision, protéger la feuille, sélectionner les cellules déverrouillées cochée.
Je valide.
Une fois la feuille protégée, je peux accéder à mes listes, mais je ne peux pas faire de sélection multiple; seulement un seul choix.
Quelqu'un connaitrait il une solution autre ou alors faut il modifier le code ci dessous ?
Dans ce dernier cas, que mettre ?
Merci pour vos retours.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Not Intersect(Target, Range("C5")) Is Nothing Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue & ", ") > 0 Then
Target.Value = Replace(Oldvalue, Newvalue & ", ", "")
ElseIf InStr(1, Oldvalue, ", " & Newvalue) > 0 Then
Target.Value = Replace(Oldvalue, ", " & Newvalue, "")
ElseIf InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & Newvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
Etant totalement novice dans tout ce qui touche aux macro et au VBA, je m'essaye à certaine chose et rencontre souvent pas mal de soucis
Mon soucis actuel :
J'ai trouvé la solution suivante afin de pouvoir créer des listes déroulantes multi-sélections sur Excel.
Une fois ce code appliqué, tout fonctionne parfaitement bien jusqu'au moment où je choisi de protéger ma feuille contre certaines modifications.
En fait j'ai certaines de mes plages de cellule déverrouillées (clic droit, format cellule, protection, verrouillée décoché).
Ensuite je vais dans révision, protéger la feuille, sélectionner les cellules déverrouillées cochée.
Je valide.
Une fois la feuille protégée, je peux accéder à mes listes, mais je ne peux pas faire de sélection multiple; seulement un seul choix.
Quelqu'un connaitrait il une solution autre ou alors faut il modifier le code ci dessous ?
Dans ce dernier cas, que mettre ?
Merci pour vos retours.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Not Intersect(Target, Range("C5")) Is Nothing Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue & ", ") > 0 Then
Target.Value = Replace(Oldvalue, Newvalue & ", ", "")
ElseIf InStr(1, Oldvalue, ", " & Newvalue) > 0 Then
Target.Value = Replace(Oldvalue, ", " & Newvalue, "")
ElseIf InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & Newvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub