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

Recupérer valeur liste déroulante

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 !

arnaudbu

XLDnaute Occasionnel
Bonjour,

actuellement j'ai une constante:

Code:
Const onglet As String = "2009"

J'aimerais maintenant la transformer en variable dont la valeur est récupérée depuis feuil1!E1 (validation par liste).

J'ai fait ça mais il y a une erreur:

Code:
Dim onglet As Variant
Set onglet = Sheets("feuil1").Range("E1")

Comment configurer ma variable ?

MERCI
 
Re : Recupérer valeur liste déroulante

bonjour arnaudbu

Const onglet As String = "2009"

Public Sub test()
dim Ws as worksheet,P as variant

p = Sheets(onglet).Range("E1")
Set ws = Sheets(onglet)
ws.Range("E2") = "coucou"

End Sub

à bientôt
 
Re : Recupérer valeur liste déroulante

Bonjour,

avec ce que je crois comprendre : clic droit sur le nom de l'onglet, choisir "Visualiser le code" puis copier le
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim onglet As Variant
  If Target.Address <> "$E$1" Or Target.Count > 1 Then Exit Sub
  onglet = Target
End Sub
 
Re : Recupérer valeur liste déroulante

Non, en fait j'ai un code qui récupère les données dans d'autres fichiers excel, mais uniquement dans les onglets "2009".

D'ou ma constante
Code:
Const onglet As String = "2009"

Maintenant je veux laisser le choix de l'onglet à l'utilisateur. Il choisi le nom de l'onglet à rechercher dans sa liste déroulante et lance la macro avec le bouton.

Je dois donc récupérer ce qui il y a dans feuil1!E1 (le nom des onglets à récupérer) pour que ma macro sache quels onglets récupérer dans les autres fichiers excel.
 
Re : Recupérer valeur liste déroulante

Arnaudbu
bonjour Lii
Dim onglet As String
il faut un argument string
onglet = Sheets("feuil1").Range("E1")
ensuite
p= Sheets(onglet).Range("E1")
avec onglet as variant
p= Sheets(cstr(onglet)).Range("E1")
à bientôt
 
- 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
2
Affichages
772
Réponses
3
Affichages
924
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…