OVH Cloud OVH Cloud

P'tit souci de déclaration

2 réponses
Avatar
ThierryP
Bonjour à tous !

Un petit truc énervant : Je déclare en haut de mon module :
Public Liste_Devis As ComboBox

Dans une sub du module, je veux faire : Liste_Devis.Visible = False
Et là, Excel me dit "Variable Objet non définie" ?????????

Ce combo ayant été créé sur une feuille, faut-il le référencer
complètement dans les sub du module, et si oui, quelle est la syntaxe ??

Merci d'avance

thierryp

2 réponses

Avatar
michdenis
Bonjour ThierryP,

Voici un petit exemple :

'Dans le haut d'un module standard
'Déclaration de la variable
Public Cmb As ComboBox

Cette procédure va initialer ta variable Cmb, c'est à dire l'associé au "combobox1" (issu de la barre d'outils contrôle) de la
feuil2 de ton classeur. Après l'exécution de la procédure, tu peux utiliser la variable cmb dans n'importe quelle procédure et ce
sans difficulté... mais il faut commencer par l'initialer !

'--------------------------
Sub MaProcédure()

Dim Tblo As Variant

With Worksheets("Feuil2")
Tblo = .Range("A1:A5")
Set Cmb = .ComboBox1
End With

With Cmb
.List = Tblo
End With

End Sub
'--------------------------


Salutations!



"ThierryP" a écrit dans le message de news: u6PYsP$
Bonjour à tous !

Un petit truc énervant : Je déclare en haut de mon module :
Public Liste_Devis As ComboBox

Dans une sub du module, je veux faire : Liste_Devis.Visible = False
Et là, Excel me dit "Variable Objet non définie" ?????????

Ce combo ayant été créé sur une feuille, faut-il le référencer
complètement dans les sub du module, et si oui, quelle est la syntaxe ??

Merci d'avance

thierryp
Avatar
ThierryP
Pourquoi tout à l'air si simple tout d'un coup !!!

Effectivement, je pouvais faire appel au combo avant de l'avoir
initialisé !!

Merci encore pour ce petit cours limpide !!

thierryp

Bonjour ThierryP,

Voici un petit exemple :

'Dans le haut d'un module standard
'Déclaration de la variable
Public Cmb As ComboBox

Cette procédure va initialer ta variable Cmb, c'est à dire l'associé au "combobox1" (issu de la barre d'outils contrôle) de la
feuil2 de ton classeur. Après l'exécution de la procédure, tu peux utiliser la variable cmb dans n'importe quelle procédure et ce
sans difficulté... mais il faut commencer par l'initialer !

'--------------------------
Sub MaProcédure()

Dim Tblo As Variant

With Worksheets("Feuil2")
Tblo = .Range("A1:A5")
Set Cmb = .ComboBox1
End With

With Cmb
.List = Tblo
End With

End Sub
'--------------------------


Salutations!



"ThierryP" a écrit dans le message de news: u6PYsP$
Bonjour à tous !

Un petit truc énervant : Je déclare en haut de mon module :
Public Liste_Devis As ComboBox

Dans une sub du module, je veux faire : Liste_Devis.Visible = False
Et là, Excel me dit "Variable Objet non définie" ?????????

Ce combo ayant été créé sur une feuille, faut-il le référencer
complètement dans les sub du module, et si oui, quelle est la syntaxe ??

Merci d'avance

thierryp