Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Indirect

  • Initiateur de la discussion Initiateur de la discussion paneguilla
  • Date de début Date de début

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 !

P

paneguilla

Guest
Bonsoir,
J'aimerais utiliser la fonction Indirect mais dans une macro VBA en fonction de la valeur de la cellule A7.
Par exemple, si en A7 j'ai "CD3591", je veux qu'en A8 j'ai une liste déroulante avec pour formule "=Indirect("CD3591_").
Il faut rajouter le tiret du 8, car je me sers du gestionnaire de nom et Excel rajoute automatiquement le tiret du 8 car j'ai l'impression que cela ne peut se terminer par un chiffre.
J'ai déjà essayé beaucoup de codes différents et aucun ne fonctionne.
Merci.
 
Bonsoir Dranreb,
Je viens d'essayer et cela ne fonctionne pas pour ma part.
Pouvez-vous m'envoyer le classeur Excel pour que je puisse voir le code VBA ?
Je vous remercie.
 
Je vous mets mon classeur en pièce jointe.
Le fait est que j'y arrive sans faire de macro mais j'ai besoin de l'automatiser sous VBA.
Je vous remercie encore pour vos réponses.
 

Pièces jointes

En mettant Formula1 et en doublant les guillemets ça marche chez moi :
VB:
Sub Liste()
   With Sheets("Feuil1").Range("C2").Validation
       .Delete
       .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
         xlBetween, Formula1:="=INDIRECT($C$1&""_"")"
       .IgnoreBlank = True
       .InCellDropdown = True
       .InputTitle = ""
       .ErrorTitle = ""
       .InputMessage = ""
       .ErrorMessage = ""
       .ShowInput = True
       .ShowError = False
      End With
   End Sub
 
Bonsoir,
Désolé de déranger encore, mais maintenant je veux qu'à la place de la cellule C8, ce soit la cellule sur laquelle on clique. J'ai testé le code suivant, mais cela ne fonctionne pas.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheets("Feuil1").Range("C2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=INDIRECT(Target.Address&""_"")"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End Sub

Merci.
 
- 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

Discussions similaires

Réponses
0
Affichages
298
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…