Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Sub Zonecombinée1_QuandChangement()
Dim cf As ControlFormat, cel As Range, t$
With Feuil1 'CodeName de la feuille
Set cf = .Shapes("Drop Down 1").ControlFormat
Set cel = .Range(cf.ListFillRange).Cells(cf.ListIndex)
End With
t = InputBox("Entrez le nouveau nom :", "Modifier '" & cel & "'")
If t <> "" Then cel = t
End Sub
Merci pour votre aide. Néanmoins, sans vouloir abuser votre gentillesse, ne peut-on pas récupérer directement la valeur de la liste déroulante sans passer par les cellules qu'il utilise*? Via une formule du style*:
Code:
cf = Feuil1.Shapes("Drop Down 1").ControlFormat.Text
Sub Zonecombinée1_QuandChangement()
Dim cf As ControlFormat, cel As Range, t$
With Feuil1 'CodeName de la feuille
Set cf = .Shapes("Drop Down 1").ControlFormat
Set cel = .Range(cf.ListFillRange)(cf)
End With
t = InputBox("Entrez le nouveau nom :", "Modifier '" & cel & "'")
If t <> "" Then cel = t
End Sub
Oui désolé, j'avais besoin des deux mais séparément. En fait je voulais surtout me défaire du «*.Range(cf.ListFillRange).Cells(cf.ListIndex)*» (les listes sont sur des feuilles séparées). J'ai utilisé la méthode suivante du coup*:
Code:
Set cf = Feuil1.Shapes("Drop Down 1").ControlFormat
MsgBox cf.List(cf.ListIndex)
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.