HELP comment associer mon combobox a une macro

Résolu
cs_cerrone Messages postés 14 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 16 janvier 2007 - 14 janv. 2007 à 18:57
cs_cerrone Messages postés 14 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 16 janvier 2007 - 14 janv. 2007 à 20:05
Bonjour, j'ai reussi a parametrer un commandbutton pour mettre a jour un combobox dans une feuille excel comme ceci:
dim myarray(40, 2)
Private Sub CommandButton1_Click()
    Dim i As Single
    ComboBox1.ColumnCount = 2
 MyArray(0, 0) = "hello"  pour defifnir la 1ere colonne de la ligne 1
    MyArray(0, 1) = "cool" pour definir la 2e colonne de la ligne 1
 ComboBox1.List() = MyArray
Tout marche tres bien mais j'aimerai effectuer la meme mise a jour du combobox non pas par un bouton mais par une macro, et je n'arrive pas à insérer ces lignes de codes dans une macro qui marche. 
Est ce que quelqu'un peut m'aider ?
merci

10 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
14 janv. 2007 à 19:57
Voici la correction de ton code afin de le placer dans WorkBook_Open :

Dim myarray(40, 2) As String

Private Sub Workbook_Open()
    Dim i As Long

Sheets("Nom feuille").ComboBox1.ColumnCount = 2
'*** pense à changer >> Nom
feuille

myarray(0, 0) = "hello"  'pour defifnir la 1ere colonne
de la ligne 1
myarray(0, 1) = "cool" 'pour definir la 2e colonne de
la ligne 1

Sheets("Nom feuille").ComboBox1.List() = myarray
'***
pense à changer >> Nom feuille
End Sub


~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
14 janv. 2007 à 19:09
Il va bien falloir que tu choisisses un événement.
Si tu ne veux pas de l'événement click de ton bouton, il te faudra choisir un autre événement (l'événement Initialize de ta UserForm ?). A moins que tu n'insères ce code, de façon à ce qu'il s'exécute de façon conditionnelle, à l'intérieur d'une autre instruction (mais elle-même devra dépendre d'un événement ...
En bref : des instructions ne peuvent être exécutées sans définition de l'événement devant déclencher leur exécution.
0
cs_cerrone Messages postés 14 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 16 janvier 2007
14 janv. 2007 à 19:16
Peux tu m'expliquer en details comment utiliser la fonction initialize et o'u est la userform ?
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
14 janv. 2007 à 19:30
C'est parce que t'es sur la feuille excel.
Ce dont parle jmfmarques, c'est UserForm (= formulaire utilisateur)
Pour y accéder, dans excel, faire Alt + F11, menu Insertion, UserForm.

Sinon, petite précision, tu veux une procédure, d'accord (au lieu du bouton) mais à quel moment souhaites-tu quelles se déclenche ?

@++

<hr size ="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
14 janv. 2007 à 19:32
Oh !


Celà veut dire que ton commandButton est placé directement sur ta feuille ?


Ben alors : à l'ouverture de ta feuille, donc ...

Mais... ta question m'étonne ! ... Je crois que tu devrais lire ton aide en ligne et quelques cours sur ce sute... tout simplement.
La UserForm est à créer et elle a un événement (pas une fonction) initialize ...
0
cs_cerrone Messages postés 14 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 16 janvier 2007
14 janv. 2007 à 19:38
En fait j'aimerai que ma procédure ( soit la mise a jour de la liste de mon combobox) s'execute a l'ouverture de mon fichier excel. Je pensais faire une macro avec workbook open mais j'arrive pas a faire une macro qui marche, une autre solution me conviendrait aussi.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
14 janv. 2007 à 19:48
Ben toujours en faisant Alt F11, double click sur ThisWorkBook dans la fenêtre Projet, une fenêtre blanche apparait, au lieu de (général), choisi WorkBook, et l'évènement Open est choisi par défaut.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_cerrone Messages postés 14 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 16 janvier 2007
14 janv. 2007 à 19:59
alors j'ai mis ma procédure dans workbook puis open comme tu dis, et a la reouverture du fichier excel ca bloque a ComboBox1.ColumnCount = 2
alors que ma procédure marche tres bien avec un bouton.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
14 janv. 2007 à 20:03
C'est normal, ton bouton étant sur la feuille en question, il sait que par défaut, sans précision de feuille, les contrôles appelés sont eux aussi sur la même feuille.
Alors que par l'évènement WorkBook_Open, c'est à toi de dire à VB où se trouvent ce controle

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_cerrone Messages postés 14 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 16 janvier 2007
14 janv. 2007 à 20:05
OK genial ca marche un grand merci Mortalino
0
Rejoignez-nous