gad311081
Messages postés53Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention31 mars 2008
-
26 févr. 2008 à 09:07
nanardino64
Messages postés131Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention17 mars 2010
-
26 févr. 2008 à 16:00
Bonjour à tous voila mon pb,
Dans ma Userform , j'ai inséré différents éléments dont une combobox.
Aucun souci pour mettre une colonne dans ma liste, j'indique 'Forets HSS'!C12:C21 dans Rowsource des propriétés de ma combobox.
Malheureusement il faudrait aussi que j'insere 'Forets HSS'!M12:M21 , 'Forets HSS'!D26:D35 , 'Forets HSS'!M26:M35
ainsi que 4 autres collones sur deux autres feuilles Forets HSS 2 et Forets HSS 3aux mêmes emplacements.
Est-ce que quelqu'un peut m'aider, m'écrire un petit code ou bien me dire comment procéder....
Merci à tous
nanardino64
Messages postés131Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention17 mars 2010 26 févr. 2008 à 10:57
Bon ben ça n'a pas marché...
je disais donc qu'il te fallait mettre la valeur de chacune des cellules des tes plages dans une variable puis ajouter cette variable à ta box avec userform1.combobox1.additem
Va falloir que tu balayes tes plages donc et pour chaque cellule faire un additem mais bon je pense que ce soit trop long en faisant avec des boucles.
dim Ma_Liste as String
col=3
for Lig=12 to 21
Ma_Liste=cells(Lig,Col).value
userform1.combobox1.additem Ma_Liste
next Lig
Et ainsi de suite...
gad311081
Messages postés53Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention31 mars 2008 26 févr. 2008 à 11:21
Merci, pour tes conseils
Seulement, même si je connais pas pas de choses sur excel, pour ce qui est du vba, à part enregistrer des macros et agrémenter de petit code tout fait pour imprimer ou autres, je débute....tout ca pour te demander de développer un peu plus.
c'est certainement simple mais....
comment créer cette variable Ma_Liste?
qu'est-ce un additem?
Peut tu m'expliquer ton code? Lig et Col sont d'autres variables'Où precise t on sur quelle feuille ma plage de cellule est située?
dim Ma_Liste as String
col=3
for Lig=12 to 21
Ma_Liste=cells(Lig,Col).value
userform1.combobox1.additem Ma_Liste
next Lig
Et ainsi de suite...
merci et désolé de te demander tout cela.
Vous n’avez pas trouvé la réponse que vous recherchez ?
nanardino64
Messages postés131Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention17 mars 2010 26 févr. 2008 à 13:04
Bon on va essayer :
Private sub userform_initialize()
dim Ma_Liste as String
dim Col as integer
dim Lig as integer
col=3
for Lig=12 to 21
Ma_Liste=sheets(Tafeuille).cells(Lig,Col).value
userform1.combobox1.additem Ma_Liste
next Lig
end sub
Alors dim c'est pour déclarer tes variables
ensuite avec la boucle for on passe en revue les lignes 12 à 21 de la colonne 3 donc il ne te reste plus qu'à faire pareil pour les autres colonnes de ton tableau
Pour chaque cellule de ta colonne on met la valeur dans la variable Ma_Liste que l'on ajoute à la liste de ta comobobox avec additem (on doit même pouvoir se passer de cette variable je pense mais je suis pas sûr)
copie déjà ce morceau de code et regarde ce que ça donne en suivant la déroulement avec F8
gad311081
Messages postés53Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention31 mars 2008 26 févr. 2008 à 14:10
Voila ce que j'ai intégré dans le combobox1 Change
Private Sub ComboBox1_Change()
Dim Ma_Liste As String
Dim Col As Integer
Dim Lig As Integer
Col = 3
For Lig = 12 To 21
Ma_Liste = Sheets("Forets HSS").Cells(Lig, Col).Value
UserForm3.ComboBox1.AddItem Ma_Liste
Next Lig
End Sub
j'ai aussi sur ma feuille accueil
Sub auto_open()
UserForm3.Show
End Sub
Je n'ai pas d'erreur de compilation
Mais par contre je n'ai aucune liste qui s'affiche...
(pour info c'est bien la colonne c et de la ligne 12 à 21
Que faire maintenant....?
nanardino64
Messages postés131Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention17 mars 2010 26 févr. 2008 à 15:02
C'est chiant...trois fois aujourd'hui
Je te disais de ne pas faire Private Sub ComboBox1_Change() mais Private Sub UserForm3_Initialize()
c'est un événement qui se produit quand tu charges ta form pour la 1er fois ou alors quand tu la charge de nouveau après avoir fait un unload de ta form (avec .hide pour masquer ta form pas dit que l'événement se produise quand tu la réaffiche donc moi j'utilise Unload Userform3 et ça marche)
gad311081
Messages postés53Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention31 mars 2008 26 févr. 2008 à 15:15
Private Sub UserForm3_Initialize()
Dim Ma_Liste As String
Dim Col As Integer
Dim Lig As Integer
Col = 3
For Lig = 12 To 21
Ma_Liste = Sheets("Forets HSS").Cells(Lig, Col).Value
UserForm3.ComboBox1.AddItem Ma_Liste
Next Lig
End Sub
J'ai bien remplacé Private Sub ComboBox1_Change() par Initialise mais cela ne fonctionne pas
Est ce que cela viens de mon
Sub Auto_open()
UserForm3.Show
End Sub
qui dans le module 1 et que j'ai attribué à un bouton sur la feuille accueil
nanardino64
Messages postés131Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention17 mars 2010 26 févr. 2008 à 15:58
C'est vraiment pénible !!!!!!
Oui plus qu'à faire copier / coller avec une légère adaption.
.hide masque la form mais elle conserve ses données donc quand tu refais .show il se peut qu'il n'y ait pas d'initialisation (je suis pas sûr)
Unload userform3 vide la form donc .show initialise la form
Pense à valider les messages qui t'ont aidés même les tiens pour ceux qui auraient le même problème.