Bonjour,
Je rencontre un problème pour faire une liste déroulante en fonction d'une variable en VBA.
Je m'explique : je voudrais que si l'utilisateur change une cellule la bonne liste déroulante s'affiche en face.
Pour cela j'ai écrit une macro evenementielle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Integer
If Target.Column = 2 And (Target.Row > 16) Then
a = Target.Row
Range("C" & a).Select
catego = Range("B" & a)
Application.WindowState = xlMaximized
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=catego"
MsgBox catego
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
End Sub
Je vous join mon fichier Excel, pour que vous puissiez voir comment j'ai défini mes plage de donnée et comment je leur est donnée des noms.
je suis débutante en VBA, et je ne vois vraiment pas mon erreurs, car si je met "Loisir" a la place de Catego j'obtiens bien la bonne liste déroulante...
merci beaucoup d'avance pour votre aide !!!
Je rencontre un problème pour faire une liste déroulante en fonction d'une variable en VBA.
Je m'explique : je voudrais que si l'utilisateur change une cellule la bonne liste déroulante s'affiche en face.
Pour cela j'ai écrit une macro evenementielle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Integer
If Target.Column = 2 And (Target.Row > 16) Then
a = Target.Row
Range("C" & a).Select
catego = Range("B" & a)
Application.WindowState = xlMaximized
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=catego"
MsgBox catego
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
End Sub
Je vous join mon fichier Excel, pour que vous puissiez voir comment j'ai défini mes plage de donnée et comment je leur est donnée des noms.
je suis débutante en VBA, et je ne vois vraiment pas mon erreurs, car si je met "Loisir" a la place de Catego j'obtiens bien la bonne liste déroulante...
merci beaucoup d'avance pour votre aide !!!