ComboBox Débutant... Le retour

Demouret

XLDnaute Junior
Bonjour (Re) le forum…

Je vous remercie encore pour votre aide mais je ne comprends pas comment fonctionne cette ComboBox …

Comment sait elle où sont placées les valeurs qu’elle doit proposer ???

J’ai essayé d’en recréer une mais je n’arrive pas à modifier la propriété RowSource comme cela est fait dans celle la…

Comprends pas… “La neige elle est trop molle pour moi“ :-((
 

Demouret

XLDnaute Junior
Je n'arrive même plus à joindre un fichier... :S [file name=CopiedeComboBox.zip size=8497]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/CopiedeComboBox.zip[/file]
 

Pièces jointes

  • CopiedeComboBox.zip
    8.3 KB · Affichages: 17

Jacques87

XLDnaute Accro
Re

pour obtenir les données de ce ComboBox on a utilisé la propriété 'RowSource' en faisant appel à une plage nommée 'poseur'

Cette plage est définie dans la feuille 2 'variables' et est constituée des cellules A2 à A11

Voila

Bon courage
 

Demouret

XLDnaute Junior
Ok je vois mais pratiquement comment fait on ??
Si par exemple je veux créer une autre combobox je peux mettre les valeurs que je veux qu'elle affiche dans la colonne B feuille2 ? Il faut tout de même bien inscrire un code qque part ??
 

Robert

XLDnaute Barbatruc
Repose en paix
Boujour Demouret, Marco, Jacques, bonjour le forum,

Plusieurs méthodes sont possibles pour alimenter une ComboBox. Dans l'exemple que tu as résussi à envoyer (bravo... tout était dans l'espace...) c'est sa propriété RowSource qui est utilisée. Dans l'onglet variables, la plage A2:A11 a été nommée poseur et la propriété RowSource fait référence à cette plage nommée. Dans ce cas, pour modifier le liste de la ComboBox il te faut modifier la plage nommée. Ce n'est qu'un avis personnel mais je même pas beaucoup cette méthode qui est très figée.

Je lui préfère de loin la méthode List (que j'ai baptisée la méthode à Hervé...) qui permet un mise à jour automatique qui, toujours avec ton exemple, donnerait à l'initialisation de la L'UserForm1 :

Private Sub UserForm_Initialize()
With Sheets('variables')
ComboBox1.List = .Range('A2:A' & .Range('A65536').End(xlUp).Row).Value
End With
End Sub
Ici tu peux rajouter autant de poseur que tu le désires à la suite de la liste, ils seront affichés dans la ComboBox1.

Autre méthode, la méthode AddItem qui permet, par exemple de supprimmer les doublons.

Regarde ton fichier en pièce jointe dans lequel je reprend les 3 métohodes.
[file name=ComboBoxV2.zip size=12264]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ComboBoxV2.zip[/file]
 

Pièces jointes

  • ComboBoxV2.zip
    12 KB · Affichages: 30

Jacques87

XLDnaute Accro
Re
Bonjour Robert

Les explications de Robert sont complètes et il met à ta disposition les métodes idéales pour 'renseigner' un ComboBox

Toutefois, bien que ce ne soit pas l'idéal (cf explications de Robert), je vais te montrer comment faire avec l'exemple que tu as trouvé

1) tu crées ton ComboBox
2) tu ouvres ses propriétés
3) à la propriété 'RowSource' tu attribues un nom, exemple 'nouveau'
4) dans la feuille 2 en colonne B, tu notes les données les unes en dessous des autres
5) tu sélectionnes toutes ces données et attribues le nom 'nouveau' à cette plage

Problème : quand tu ajouteras une nouvelle donnée il faudra recommencer
Donc je te suggère de suivre les explications de Robert

Bon courage
 

Demouret

XLDnaute Junior
:) :)


Merci pour m'avoir accordé de votre temps



Mais Jacques lorsque je crée une nouvelle ComboBox et que je veux attribuer le nom 'nouveau' à la propriété RowSource j'ai un message d'erreur qui s'affiche 'Impossible de définirla propriété RowSource. Valeur de propriété non valide'...

Mais enfin c'est vrai que d'après les exemples de Robert c'est pas la meilleure manière de faire alors je laisse tomber cette foutu RowSource...

Merci encore à vous tous ;) ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 342
Messages
2 087 433
Membres
103 545
dernier inscrit
agent3