Voici mon soucis, je veux faire une liste déroulante avec une sélection multiple.
Cela marche très bien avec cette macro. Cependant j'aimerai savoir s'il était possible de sélectionner une plage de cellule ou une colonne pour "$AA$3" et "$Z$3". Car je voudrai appliquer cette macro sur environ 200 cellules dans les colonnes correspondantes.
Merci d'avance.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AA$3" And Target.Count = 1 Then 'Ici je voudrai cibler la colonne AA, ou une plage de cellule genre AA2: AA200. Mais je n'y arrive pas
Application.EnableEvents = False
ValSaisie = Target
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
If Right(Target, 1) = Chr(10) Then
Target = Left(Target, Len(Target) - 1)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & Chr(10) & ValSaisie
End If
End If
Application.EnableEvents = True
End If
'colonne AA
If Target.Address = "$Z$3" And Target.Count = 1 Then ''Ici je voudrai cibler la colonne Z, ou une plage de cellule genre Z2: Z200. Mais je n'y arrive pas!!!
Application.EnableEvents = False
ValSaisie = Target
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
If Right(Target, 1) = Chr(10) Then
Target = Left(Target, Len(Target) - 1)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & Chr(10) & ValSaisie
End If
End If
Application.EnableEvents = True
End If
'colonne Z
End sub
Cela marche très bien avec cette macro. Cependant j'aimerai savoir s'il était possible de sélectionner une plage de cellule ou une colonne pour "$AA$3" et "$Z$3". Car je voudrai appliquer cette macro sur environ 200 cellules dans les colonnes correspondantes.
Merci d'avance.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AA$3" And Target.Count = 1 Then 'Ici je voudrai cibler la colonne AA, ou une plage de cellule genre AA2: AA200. Mais je n'y arrive pas
Application.EnableEvents = False
ValSaisie = Target
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
If Right(Target, 1) = Chr(10) Then
Target = Left(Target, Len(Target) - 1)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & Chr(10) & ValSaisie
End If
End If
Application.EnableEvents = True
End If
'colonne AA
If Target.Address = "$Z$3" And Target.Count = 1 Then ''Ici je voudrai cibler la colonne Z, ou une plage de cellule genre Z2: Z200. Mais je n'y arrive pas!!!
Application.EnableEvents = False
ValSaisie = Target
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
If Right(Target, 1) = Chr(10) Then
Target = Left(Target, Len(Target) - 1)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & Chr(10) & ValSaisie
End If
End If
Application.EnableEvents = True
End If
'colonne Z
End sub