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

recuperer valeur d'une combobox

  • Initiateur de la discussion Initiateur de la discussion gh4
  • 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 !

gh4

XLDnaute Occasionnel
Bjr
je viens de creer une combobox dans ma barre d'outils perso celle ci m'affiche bien la plage de donnée sélectionnée.
En fonction de la ligne choisit dans la combobox je voudrais retrouver dans une cellule du classeur
1 si la premiere ligne est selectionnée et ainsi de suite car j'aimerais traiter cette valeur pour une autre macro
par avance merci
 
Re : recuperer valeur d'une combobox

bonjour,

Pour récupérer la valeur d'un combo sur une barre d'outils:

Code:
Function RecupValeur()
   On Error Resume Next
   RecupValeur= CommandBars("NomDeLaBarreOutils").Controls(IndexDucombo).Text
End Sub

voili!
 
Re : recuperer valeur d'une combobox

merci de la reponse rapide
pouvez vous m'expiquer comment je fais pour mettre cette valeur dans la cellule e49
dois je affecter votre macro a la combo
 
Re : recuperer valeur d'une combobox

si la combo a été créee par macro:

dans la macro de construction de la combo, rajouter: OnAction="RecupValeur"

sinon

Faire un click-droit sur la barre d'outil. choisir 'Personnaliser'.
lorsque la boîte de personnalisation est ouverte, click-droit sur la combobox et choisir 'Affecter' une macro. Puis choisir dans la liste la macro ci-dessous.



Sub RecupValeur()
On Error Resume Next
range("E49")= CommandBars("NomDeLaBarreOutils").Controls(IndexDucombo).Text
End Sub
 
Re : recuperer valeur d'une combobox

franchement j'suis trop nul je galere depuis des heures sur ça
pouvez m'ecrire cette macro qui creer cette combo et qui la gere

la liste des cellules de la combo sont
e50 à e70

la valeur de la ligne a reporter est en g49

désolé du derangement

merci bcp
 
Re : recuperer valeur d'une combobox

Non, je ne fais pas directement le travail à la place des gens.

Par contre tu peux joindre ton fichier et je verrai comment c'est possible de t'aider.

A+
 
Re : recuperer valeur d'une combobox

Sub RecupValeur()
On Error Resume Next
Range("a1") = CommandBars("mabarreperso").Controls(IndexDucombo).Text
End Sub
je lance cette macro a partir de la combobox mais je ne retrouve aucune valeur dans a1
qui me signale la ligne selectionnée par la combobox
 
Re : recuperer valeur d'une combobox

Essaie avec ceci:

Sub RecupValeur()
On Error Resume Next
Range("a1") =Application.CommandBars("mabarreperso").Controls(IndexDucombo) .Text
End Sub

Et met un ' (apostrophe) avant On error.... pour voir s'il y a une erreur et quel message d'erreur il lance éventuellement.

a bientôt
 
Re : recuperer valeur d'une combobox

avec une ' ou pas il me met comme message d'erreur "l'indice n'appartient pas a la selection""erreur d'execution 9"
pour moi c'est de l'allemand ecrit en chinois

Sub RecupValeur()
'On Error Resume Next
Range("a1") = Application.CommandBars("mabarreperso").Controls(IndexDucombo).Text

End Sub

dois je faire quelque chose pour valider ma combo ou pas a part lui affecter cette macro
 
Re : recuperer valeur d'une combobox

Alors là il faut que tu joignes ton fichier avec la combo parce qu'apparement l'index de ta combo n'est pas valide. Et je ne peux pas déterminer ex-nihilo son numéro ni son nom.
 
Dernière modification par un modérateur:
Re : recuperer valeur d'une combobox

Voici enfin la solution

Code:
Sub RecupValeur(Optional Truc As String)
On Error Resume Next
'Le paramètre truc n'est là que pour éviter que la macro s'affiche dans la liste des macro(ALT+F8)
'CommandBars.ActionControl référence le dernier objet de barre de commandes cliqué
Range("e1") = CommandBars.ActionControl.Text
End Sub
'Autre manière de faire:
'Modifier à la création de la combo la propiété .OnAction ="RecupValeur" pour mettre
'.OnAction = "RecupValeur2"
'La macro RecupValeur2 sera disponible dans la liste des macros et pourra être appelée
'autrement que sur un click de la combo pour récupérer la valeur de la combo
'par contre la propriété CommandBars.ActionControl ne marche plus alors
'c'est pourquoi il faut une autre manière de faire
Sub RecupValeur2()
    Dim maBarre As CommandBar
    Dim ctl As CommandBarControl
    On Error Resume Next
    Set maBarre = Application.CommandBars("MaBarrePerso")
    If Not maBarre Is Nothing Then
        For Each ctl In maBarre.Controls
            If ctl.Caption = "Liste des noms" Then Range("E1") = ctl.Text
        Next ctl
    End If
End Sub
Sub CreateToolbar()
    Dim Tbar As CommandBar
    Dim NewButn As CommandBarComboBox
    On Error Resume Next
    'Au cas où elle existerait déjà
    DétruireBarrePerso
    
    Set Plage = Range("feuil1!a1:a10")
    'Création de la barre de commande
    Set Tbar = CommandBars.Add
    With Tbar
        .Name = "MaBarrePerso"
        .Visible = True
    End With
    
    'Création du bouton
    Set NewButn = Tbar.Controls.Add(Type:=msoControlComboBox)
    With NewButn
        .Caption = "Liste des noms"
        .OnAction = "RecupValeur"
        For Each c In Plage
            .AddItem c.Value
        Next c
        .Width = Plage.Width
    End With
End Sub
Sub DétruireBarrePerso()
On Error Resume Next
Application.CommandBars("MaBarrePerso").Delete
End Sub
 
Dernière modification par un modérateur:
Re : recuperer valeur d'une combobox

merci merci beaucoup
maintenant je vais l'adapter a mon programme
j'espere que cela fonctionnera aussi bien que dans le test si je ne fais pas d'erreur
encore mille fois merci car j'ai les yeux qui tombent a force de chercher je vous tiens au courant
encore merci
 
Re : recuperer valeur d'une combobox

C'est quand tu veux.

N'hésite pas ni à faire appel à l'aide en ligne d'excel ni à xld si tu n'arrives pas à trouver tes réponses.

bon courage
 
Re : recuperer valeur d'une combobox

me revoilou
j'ai reussi à integrer tout ce que vous m'avez fournit comme info dans mon prog
j'ai encore deux petit probleme toujours avec cette combobox
ma combobox est dans ma barre outils perso donc elle ne se met pas a jour en ouvrant le programme .comment faire qu'elle actualise ma liste a chaque fois que je clique sur la combo
2 est il possible de la dimensionner plus grande pour que les titres de la liste rentre dedans car la elle est vraiment pas longue
deux fois rien n'est ce pas
 
- 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
40
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…