Associer une combobox à une cellule excel

Associer une combobox à une cellule excel - VB/VBA/VBS - Programmation

Marsh Posté le 20-05-2006 à 20:29:18    

Bonjour,  
Je souhaiterai créer un formulaire dans une feuille excel.  
Ce formulaire serait initialement composé d'une ligne comportant plusieurs combobox et du texte.  
Le problème est qu'une fois la première ligne remplie, je souhaiterai faire apparaître une seconde ligne identique à la première.  
Pour pouvoir faire cela, il me faut créer des combobox dynamiquement, ce que j'ai réussi à faire, mais il me faut à chaque fois entrer les positions pour chaque combobox, ce qui demande beaucoup de calculs étranges qui ne seront plus bons si l'utilisateur modifie la largeur des cellules, et c'est là qu'arrive ma question : est-ce quelqu'un saurait s'il est possible d'associer un contrôle, et en particulier une combobox, à une cellule particulière ? Cela me permettrait de résoudre ces problèmes.
Merci pour vos réponses,
 

Reply

Marsh Posté le 20-05-2006 à 20:29:18   

Reply

Marsh Posté le 22-05-2006 à 15:53:31    

Si ca t'interesse pour mon stage j'ai créé un module qui permet de gérer des listes de choix ; c'est un substitut a ta solution :
 
Au lieu de créér des comboboxs, tu peuples ta ligne avec des listes de choix. (Outils > Validation). J'ai créé une fonction qui permet d'éditer entièrement tes listes de choix.
 
Niveau utilisateur, c'est propre et sans bug apparant (apres 2 semaines de tests).
Niveau prog, c'est nettement plus fastidieux : Au lieu de gérer ta combobox comme un controle, la liste de choix s'appuie sur un Range de  cellules. Il faut donc faire tes listes sur des cellules que tu places "a l'ouest" dans ta feuille Excel, et tu masques les colonnes pour plus de sécurité (et propreté). Faudra que j'écrive des commentaires sur mon code...
 
J'ai pas le document sous la main la, mais dis moi si ca t'interesse et j'te l'enverrai par mail.  
 
 
Ceci dit j'aimerai bien savoir comment tu as fait pour lier des objets a des cellules...

Reply

Marsh Posté le 22-05-2006 à 23:11:22    

Merci bcp, mais finalement je crois que je vais essayer un autre moyen. Un bouton qui ouvre une fenêtre contenant la liste et qui me permet d'affecter la valeur au bon endroit. Comme ça, j'évite de devoir gérer dynamiquement l'emplacement des combo.


Message édité par tshupaka le 22-05-2006 à 23:12:44
Reply

Marsh Posté le 20-06-2008 à 15:40:41    

Je viens de chercher une solution pour ce même problème. C'est bien sûr trop tard pour toi, mais pas forcément pour d'autres qui tomberaient sur ce post en googlant...
 
Tu peux faire :  
 
        MaComboBox.Top = Cells(3, 2).Top
        MaComboBox.Left = Cells(3, 2).Left
        MaComboBox.Width = Cells(3, 2).Width
        MaComboBox.Height = Cells(3, 2).Height
 
pour associer ta ComboBox à la cellule B3. Bien évidemment, ça marche aussi avec Rows(2).Top ou Range("B3:C9" ).Left .

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed