HELP comment associer mon combobox a une macro [Résolu]

cs_cerrone 14 Messages postés jeudi 11 janvier 2007Date d'inscription 16 janvier 2007 Dernière intervention - 14 janv. 2007 à 18:57 - Dernière réponse : cs_cerrone 14 Messages postés jeudi 11 janvier 2007Date d'inscription 16 janvier 2007 Dernière intervention
- 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
Afficher la suite 

10 réponses

Répondre au sujet
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 14 janv. 2007 à 19:57
+3
Utile
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"
<!--
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de mortalino
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 14 janv. 2007 à 19:09
0
Utile
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.
Commenter la réponse de jmfmarques
cs_cerrone 14 Messages postés jeudi 11 janvier 2007Date d'inscription 16 janvier 2007 Dernière intervention - 14 janv. 2007 à 19:16
0
Utile
Peux tu m'expliquer en details comment utiliser la fonction initialize et o'u est la userform ?
Commenter la réponse de cs_cerrone
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 14 janv. 2007 à 19:30
0
Utile
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"
<!--
Commenter la réponse de mortalino
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 14 janv. 2007 à 19:32
0
Utile
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 ...
Commenter la réponse de jmfmarques
cs_cerrone 14 Messages postés jeudi 11 janvier 2007Date d'inscription 16 janvier 2007 Dernière intervention - 14 janv. 2007 à 19:38
0
Utile
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.
Commenter la réponse de cs_cerrone
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 14 janv. 2007 à 19:48
0
Utile
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"
<!--
Commenter la réponse de mortalino
cs_cerrone 14 Messages postés jeudi 11 janvier 2007Date d'inscription 16 janvier 2007 Dernière intervention - 14 janv. 2007 à 19:59
0
Utile
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.
Commenter la réponse de cs_cerrone
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 14 janv. 2007 à 20:03
0
Utile
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"
<!--
Commenter la réponse de mortalino
cs_cerrone 14 Messages postés jeudi 11 janvier 2007Date d'inscription 16 janvier 2007 Dernière intervention - 14 janv. 2007 à 20:05
0
Utile
OK genial ca marche un grand merci Mortalino
Commenter la réponse de cs_cerrone

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.