après avoir lu vos contributions, je me suis lancé dans la construction de
listes déroulantes. En fait j'ai besoin de quatre listes déroulantes sur une
même diapo. J'ai utilisé le code suivant en l'adaptant à chaque liste :
Private Sub ComboBox1_DropButtonClick()
With ComboBox1
.AddItem "OUI définitif"
.AddItem "OUI MAIS"
.AddItem "NON MAIS"
.AddItem "DEMISSION générale"
End With
End Sub
Mon problème, c'est qu'à chaque utilisation d'une des liste déroulantes, je
me retrouve avec les items mais multipliés... dans la liste, on va avoir 8
choix au lieu des 4 précisés dans le code...
Je n'y arrive pas. Pouvez-vous m'aider...?
Merci d'avance
Merci pour vos conseils mais, au risque de paraître naïf, qu'appelez-vous "objets" ?
Les objets s'appellent en fait des contrôles (ils permettent notamment de "contrôler" des actions qu'on leur associe). Une liste déroulante (ComboBox), une zone de texte (TextBox), une case à cocher (CheckBox), etc. sont des contrôles. Un nom est attribué par défaut à chaque contrôle que tu crées, en l'occurrence "ComboBox1", "ComboBox2, etc. pour tes listes déroulantes. Mais ce n'est pas toi qui a nommé ces "objets de façon si simpliste" comme le laisse entendre "LE spécialiste VBA du forum". C'est automatique. On peut les renommer (propriété Name) pour leur donner un nom plus significatif. Dans ce cas, il faut modifier toutes les références à ce nom dans le code. Pour tes diapos, si tu n'as que ces 5 contrôles, et vu la simplicité du code, je ne suis pas certaine que Reponse1, Reponse2 au lieu de ComboBox1 ou 2 te sorte d'une amnésie partielle.
Cela dit, la remarque reste bonne pour les codes plus complexes et lorsque les contrôles sont nombreux et peuvent prêter à confusion. Il est bon de le faire systématiquement lorsqu'on développe une base de données par exemple, mais dans PowerPoint et pour le programmeur du dimanche ;-)) Justement, en parlant de dimanche... j'y retourne !
-- Tisane
Bonjoir(c) cygab juste un conseil, éviter de nommer vos objets de façon si simpliste. Il n'y a rien de pire quand on reprend un code quelques temps plus tard (temps qui peut être des années) et de lire quelque chose qui était pourtant tellement évident lors de la création -- JièL / Jean-Louis GOUBERT - Bonne année 2007
Le 06/01/2007 17:11 vous avez écrit ceci :
Merci beaucoup à vous, ça fonctionne. Je viens de comprendre le fonctionnement de l'interface VBA, c'est à dire le fait que le code des différentes combobox apparait dans la même fenêtre... Merci encore, c'était urgent et je respire !!! Bonne fin de week-end. http://cjoint.com/?bgrknNH3mN
Le code définitif :
Private Sub ComboBox1_DropButtonClick() If ComboBox1.ListCount = 0 Then With ComboBox1 .AddItem "Votre réponse" End With End If End Sub ---------------------------------------------- [...]
Bonjour cygab,
Merci pour vos conseils mais, au risque de paraître naïf,
qu'appelez-vous "objets" ?
Les objets s'appellent en fait des contrôles (ils permettent notamment de
"contrôler" des actions qu'on leur associe).
Une liste déroulante (ComboBox), une zone de texte (TextBox), une case à
cocher (CheckBox), etc. sont des contrôles.
Un nom est attribué par défaut à chaque contrôle que tu crées, en
l'occurrence "ComboBox1", "ComboBox2, etc. pour tes listes déroulantes.
Mais ce n'est pas toi qui a nommé ces "objets de façon si simpliste" comme
le laisse entendre "LE spécialiste VBA du forum". C'est automatique.
On peut les renommer (propriété Name) pour leur donner un nom plus
significatif. Dans ce cas, il faut modifier toutes les références à ce nom
dans le code.
Pour tes diapos, si tu n'as que ces 5 contrôles, et vu la simplicité du
code, je ne suis pas certaine que Reponse1, Reponse2 au lieu de ComboBox1 ou
2 te sorte d'une amnésie partielle.
Cela dit, la remarque reste bonne pour les codes plus complexes et lorsque
les contrôles sont nombreux et peuvent prêter à confusion.
Il est bon de le faire systématiquement lorsqu'on développe une base de
données par exemple, mais dans PowerPoint et pour le programmeur du dimanche
;-))
Justement, en parlant de dimanche... j'y retourne !
--
Tisane
Bonjoir(c) cygab
juste un conseil, éviter de nommer vos objets de façon si simpliste.
Il n'y a rien de pire quand on reprend un code quelques temps plus
tard (temps qui peut être des années) et de lire quelque chose qui
était pourtant tellement évident lors de la création
--
JièL / Jean-Louis GOUBERT - Bonne année 2007
Le 06/01/2007 17:11 vous avez écrit ceci :
Merci beaucoup à vous, ça fonctionne. Je viens de comprendre le
fonctionnement de l'interface VBA, c'est à dire le fait que le code
des différentes combobox apparait dans la même fenêtre...
Merci encore, c'était urgent et je respire !!! Bonne fin de
week-end. http://cjoint.com/?bgrknNH3mN
Le code définitif :
Private Sub ComboBox1_DropButtonClick()
If ComboBox1.ListCount = 0 Then
With ComboBox1
.AddItem "Votre réponse"
End With
End If
End Sub
----------------------------------------------
[...]
Merci pour vos conseils mais, au risque de paraître naïf, qu'appelez-vous "objets" ?
Les objets s'appellent en fait des contrôles (ils permettent notamment de "contrôler" des actions qu'on leur associe). Une liste déroulante (ComboBox), une zone de texte (TextBox), une case à cocher (CheckBox), etc. sont des contrôles. Un nom est attribué par défaut à chaque contrôle que tu crées, en l'occurrence "ComboBox1", "ComboBox2, etc. pour tes listes déroulantes. Mais ce n'est pas toi qui a nommé ces "objets de façon si simpliste" comme le laisse entendre "LE spécialiste VBA du forum". C'est automatique. On peut les renommer (propriété Name) pour leur donner un nom plus significatif. Dans ce cas, il faut modifier toutes les références à ce nom dans le code. Pour tes diapos, si tu n'as que ces 5 contrôles, et vu la simplicité du code, je ne suis pas certaine que Reponse1, Reponse2 au lieu de ComboBox1 ou 2 te sorte d'une amnésie partielle.
Cela dit, la remarque reste bonne pour les codes plus complexes et lorsque les contrôles sont nombreux et peuvent prêter à confusion. Il est bon de le faire systématiquement lorsqu'on développe une base de données par exemple, mais dans PowerPoint et pour le programmeur du dimanche ;-)) Justement, en parlant de dimanche... j'y retourne !
-- Tisane
Bonjoir(c) cygab juste un conseil, éviter de nommer vos objets de façon si simpliste. Il n'y a rien de pire quand on reprend un code quelques temps plus tard (temps qui peut être des années) et de lire quelque chose qui était pourtant tellement évident lors de la création -- JièL / Jean-Louis GOUBERT - Bonne année 2007
Le 06/01/2007 17:11 vous avez écrit ceci :
Merci beaucoup à vous, ça fonctionne. Je viens de comprendre le fonctionnement de l'interface VBA, c'est à dire le fait que le code des différentes combobox apparait dans la même fenêtre... Merci encore, c'était urgent et je respire !!! Bonne fin de week-end. http://cjoint.com/?bgrknNH3mN
Le code définitif :
Private Sub ComboBox1_DropButtonClick() If ComboBox1.ListCount = 0 Then With ComboBox1 .AddItem "Votre réponse" End With End If End Sub ---------------------------------------------- [...]
cygab
Je me reconnais en "programmeur du dimanche" et je vous remercie pour m'avoir dépanné un week-end et de façon aussi rapide. merci encore.
"Tisane" a écrit dans le message de news:
Bonjour cygab,
Merci pour vos conseils mais, au risque de paraître naïf, qu'appelez-vous "objets" ?
Les objets s'appellent en fait des contrôles (ils permettent notamment de "contrôler" des actions qu'on leur associe). Une liste déroulante (ComboBox), une zone de texte (TextBox), une case à cocher (CheckBox), etc. sont des contrôles. Un nom est attribué par défaut à chaque contrôle que tu crées, en l'occurrence "ComboBox1", "ComboBox2, etc. pour tes listes déroulantes. Mais ce n'est pas toi qui a nommé ces "objets de façon si simpliste" comme le laisse entendre "LE spécialiste VBA du forum". C'est automatique. On peut les renommer (propriété Name) pour leur donner un nom plus significatif. Dans ce cas, il faut modifier toutes les références à ce nom dans le code. Pour tes diapos, si tu n'as que ces 5 contrôles, et vu la simplicité du code, je ne suis pas certaine que Reponse1, Reponse2 au lieu de ComboBox1 ou
2 te sorte d'une amnésie partielle.
Cela dit, la remarque reste bonne pour les codes plus complexes et lorsque les contrôles sont nombreux et peuvent prêter à confusion. Il est bon de le faire systématiquement lorsqu'on développe une base de données par exemple, mais dans PowerPoint et pour le programmeur du dimanche
;-)) Justement, en parlant de dimanche... j'y retourne !
-- Tisane
Bonjoir(c) cygab juste un conseil, éviter de nommer vos objets de façon si simpliste. Il n'y a rien de pire quand on reprend un code quelques temps plus tard (temps qui peut être des années) et de lire quelque chose qui était pourtant tellement évident lors de la création -- JièL / Jean-Louis GOUBERT - Bonne année 2007
Le 06/01/2007 17:11 vous avez écrit ceci :
Merci beaucoup à vous, ça fonctionne. Je viens de comprendre le fonctionnement de l'interface VBA, c'est à dire le fait que le code des différentes combobox apparait dans la même fenêtre... Merci encore, c'était urgent et je respire !!! Bonne fin de week-end. http://cjoint.com/?bgrknNH3mN
Le code définitif :
Private Sub ComboBox1_DropButtonClick() If ComboBox1.ListCount = 0 Then With ComboBox1 .AddItem "Votre réponse" End With End If End Sub ---------------------------------------------- [...]
Je me reconnais en "programmeur du dimanche" et je vous remercie pour
m'avoir dépanné un week-end et de façon aussi rapide.
merci encore.
"Tisane" <b.tisane@laposte.net> a écrit dans le message de
news:OIpPgelMHHA.2140@TK2MSFTNGP03.phx.gbl...
Bonjour cygab,
Merci pour vos conseils mais, au risque de paraître naïf,
qu'appelez-vous "objets" ?
Les objets s'appellent en fait des contrôles (ils permettent notamment de
"contrôler" des actions qu'on leur associe).
Une liste déroulante (ComboBox), une zone de texte (TextBox), une case à
cocher (CheckBox), etc. sont des contrôles.
Un nom est attribué par défaut à chaque contrôle que tu crées, en
l'occurrence "ComboBox1", "ComboBox2, etc. pour tes listes déroulantes.
Mais ce n'est pas toi qui a nommé ces "objets de façon si simpliste" comme
le laisse entendre "LE spécialiste VBA du forum". C'est automatique.
On peut les renommer (propriété Name) pour leur donner un nom plus
significatif. Dans ce cas, il faut modifier toutes les références à ce nom
dans le code.
Pour tes diapos, si tu n'as que ces 5 contrôles, et vu la simplicité du
code, je ne suis pas certaine que Reponse1, Reponse2 au lieu de ComboBox1
ou
2 te sorte d'une amnésie partielle.
Cela dit, la remarque reste bonne pour les codes plus complexes et lorsque
les contrôles sont nombreux et peuvent prêter à confusion.
Il est bon de le faire systématiquement lorsqu'on développe une base de
données par exemple, mais dans PowerPoint et pour le programmeur du
dimanche
;-))
Justement, en parlant de dimanche... j'y retourne !
--
Tisane
Bonjoir(c) cygab
juste un conseil, éviter de nommer vos objets de façon si simpliste.
Il n'y a rien de pire quand on reprend un code quelques temps plus
tard (temps qui peut être des années) et de lire quelque chose qui
était pourtant tellement évident lors de la création
--
JièL / Jean-Louis GOUBERT - Bonne année 2007
Le 06/01/2007 17:11 vous avez écrit ceci :
Merci beaucoup à vous, ça fonctionne. Je viens de comprendre le
fonctionnement de l'interface VBA, c'est à dire le fait que le code
des différentes combobox apparait dans la même fenêtre...
Merci encore, c'était urgent et je respire !!! Bonne fin de
week-end. http://cjoint.com/?bgrknNH3mN
Le code définitif :
Private Sub ComboBox1_DropButtonClick()
If ComboBox1.ListCount = 0 Then
With ComboBox1
.AddItem "Votre réponse"
End With
End If
End Sub
----------------------------------------------
[...]
Je me reconnais en "programmeur du dimanche" et je vous remercie pour m'avoir dépanné un week-end et de façon aussi rapide. merci encore.
"Tisane" a écrit dans le message de news:
Bonjour cygab,
Merci pour vos conseils mais, au risque de paraître naïf, qu'appelez-vous "objets" ?
Les objets s'appellent en fait des contrôles (ils permettent notamment de "contrôler" des actions qu'on leur associe). Une liste déroulante (ComboBox), une zone de texte (TextBox), une case à cocher (CheckBox), etc. sont des contrôles. Un nom est attribué par défaut à chaque contrôle que tu crées, en l'occurrence "ComboBox1", "ComboBox2, etc. pour tes listes déroulantes. Mais ce n'est pas toi qui a nommé ces "objets de façon si simpliste" comme le laisse entendre "LE spécialiste VBA du forum". C'est automatique. On peut les renommer (propriété Name) pour leur donner un nom plus significatif. Dans ce cas, il faut modifier toutes les références à ce nom dans le code. Pour tes diapos, si tu n'as que ces 5 contrôles, et vu la simplicité du code, je ne suis pas certaine que Reponse1, Reponse2 au lieu de ComboBox1 ou
2 te sorte d'une amnésie partielle.
Cela dit, la remarque reste bonne pour les codes plus complexes et lorsque les contrôles sont nombreux et peuvent prêter à confusion. Il est bon de le faire systématiquement lorsqu'on développe une base de données par exemple, mais dans PowerPoint et pour le programmeur du dimanche
;-)) Justement, en parlant de dimanche... j'y retourne !
-- Tisane
Bonjoir(c) cygab juste un conseil, éviter de nommer vos objets de façon si simpliste. Il n'y a rien de pire quand on reprend un code quelques temps plus tard (temps qui peut être des années) et de lire quelque chose qui était pourtant tellement évident lors de la création -- JièL / Jean-Louis GOUBERT - Bonne année 2007
Le 06/01/2007 17:11 vous avez écrit ceci :
Merci beaucoup à vous, ça fonctionne. Je viens de comprendre le fonctionnement de l'interface VBA, c'est à dire le fait que le code des différentes combobox apparait dans la même fenêtre... Merci encore, c'était urgent et je respire !!! Bonne fin de week-end. http://cjoint.com/?bgrknNH3mN
Le code définitif :
Private Sub ComboBox1_DropButtonClick() If ComboBox1.ListCount = 0 Then With ComboBox1 .AddItem "Votre réponse" End With End If End Sub ---------------------------------------------- [...]