Cher Expert,
Je vous remercie pour votre message et votre fichier pour commencer à me mettre dans le VBA.
J’ai effectué l’exercice en suivant vos instructions et je vous en remercie.
Cependant, j’ai une nouvelle requête à vous soumettre si vous avez le temps et l’envie bien évidemment.
Je suis reparti du code que vous m’avez envoyé hier concernant mes HS ou HC pour reproduire la même chose dans une autre cellule.
En F4, j’ai une liste déroulante, avec titre : heures dépassant du contrat ?
Une liste déroulante : oui non
Si non, Rien ne s’affiche, sinon Ma liste déroulante s’affiche avec HC et HS.
Ensuite c’est exactement comme ce que vous m’avez fait avec mes limites
J'ai copié collé votre code afin de l'adapter à cette nouvelle situation.
ça fonctionne pour la première étape, oui non, liste déroulante HS ou HC.
Mais qd je choisis HC, la seconde liste déroulante ne d'affiche plus.
J'ai l'impression que la "HC" ou "HS" n'est pas reconnu comme une valeur donc rien de ne déclenche.
Je vous mets votre (mon) code en copie pour plus de clarté.
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$F$4" Then Exit Sub
Dim Code As String
Code = Feuil24.Range("F4").Value
If Code = "Non" Then
Range("G4").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
Range("G4").Select
Selection.ClearContents
End If
If Code = "Oui" Then
Range("G4").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Types_Heures"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "HS"
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
If Target.Address <> "$G$4" Then Exit Sub
Code = Feuil24.Range("G4").Value
If Code = "HS" Then
Range("H4").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
Range("H4").Select
Selection.ClearContents
End If
If Code = "HC" Then
Range("H4").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=HC"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "Limite CC"
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
End Sub
Merci par avance,
Bien cordialement,
Matthieu