Répéter une liste déroulante créée avec un combobox
15 réponses
acaly
Bonjour,
J'ai créée une liste déroulante avec un combobox en cellule I10 et cette
dernière doit apparaître jusqu'à la cellule I372. Peut-on répéter cette
liste autrement qu'avec un copier/coller car cette manoeuvre alourdi beaucoup
trop mon formulaire.
Je dois vous informer que je ne peux créer ma liste déroulante par Données,
Validation, car je dois ajouter les propriétés suivantes à ma liste:
Je n'ai pas tout compris, mais si tu utilises le même contenu dans ton combobox pour la plage i10 à i372, tu peux conserver le même combobox. En fait, tu utilises l'événement " Private Sub Worksheet_SelectionChange(ByVal Target As Range)" pour déplacer le combobox dans la cellule sélectionnée par l'usager
Dans le code module de la feuille où l'action se déroule, en supposant que ton combobox s'appelle "ComboBox1", le code pourrait ressembler à ceci : '--------------------------------------------- Private Sub ComboBox1_Change() ActiveCell.Value = Me.ComboBox1.Value End Sub '--------------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rg As Range Set Rg = Intersect(Range("i10:i372"), Target)
If Not Rg Is Nothing And Rg.Cells.Count = 1 Then With Me.Shapes("Combobox1") .Left = Target.Left .Top = Target.Top 'Si requis... .Height = Target.Height .Width = Target.Width End With End If End Sub '---------------------------------------------
"acaly" a écrit dans le message de groupe de discussion : Bonjour,
J'ai créée une liste déroulante avec un combobox en cellule I10 et cette dernière doit apparaître jusqu'à la cellule I372. Peut-on répéter cette liste autrement qu'avec un copier/coller car cette manoeuvre alourdi beaucoup trop mon formulaire.
Je dois vous informer que je ne peux créer ma liste déroulante par Données, Validation, car je dois ajouter les propriétés suivantes à ma liste:
Je n'ai pas tout compris, mais si tu utilises le même contenu
dans ton combobox pour la plage i10 à i372, tu peux
conserver le même combobox. En fait, tu utilises
l'événement
" Private Sub Worksheet_SelectionChange(ByVal Target As Range)"
pour déplacer le combobox dans la cellule sélectionnée par l'usager
Dans le code module de la feuille où l'action se déroule, en supposant
que ton combobox s'appelle "ComboBox1", le code pourrait
ressembler à ceci :
'---------------------------------------------
Private Sub ComboBox1_Change()
ActiveCell.Value = Me.ComboBox1.Value
End Sub
'---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Range("i10:i372"), Target)
If Not Rg Is Nothing And Rg.Cells.Count = 1 Then
With Me.Shapes("Combobox1")
.Left = Target.Left
.Top = Target.Top
'Si requis...
.Height = Target.Height
.Width = Target.Width
End With
End If
End Sub
'---------------------------------------------
"acaly" <acaly@discussions.microsoft.com> a écrit dans le message de groupe de discussion
: 979DFF13-C149-4237-B22B-EC07DB333CE8@microsoft.com...
Bonjour,
J'ai créée une liste déroulante avec un combobox en cellule I10 et cette
dernière doit apparaître jusqu'à la cellule I372. Peut-on répéter cette
liste autrement qu'avec un copier/coller car cette manoeuvre alourdi beaucoup
trop mon formulaire.
Je dois vous informer que je ne peux créer ma liste déroulante par Données,
Validation, car je dois ajouter les propriétés suivantes à ma liste:
Je n'ai pas tout compris, mais si tu utilises le même contenu dans ton combobox pour la plage i10 à i372, tu peux conserver le même combobox. En fait, tu utilises l'événement " Private Sub Worksheet_SelectionChange(ByVal Target As Range)" pour déplacer le combobox dans la cellule sélectionnée par l'usager
Dans le code module de la feuille où l'action se déroule, en supposant que ton combobox s'appelle "ComboBox1", le code pourrait ressembler à ceci : '--------------------------------------------- Private Sub ComboBox1_Change() ActiveCell.Value = Me.ComboBox1.Value End Sub '--------------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rg As Range Set Rg = Intersect(Range("i10:i372"), Target)
If Not Rg Is Nothing And Rg.Cells.Count = 1 Then With Me.Shapes("Combobox1") .Left = Target.Left .Top = Target.Top 'Si requis... .Height = Target.Height .Width = Target.Width End With End If End Sub '---------------------------------------------
"acaly" a écrit dans le message de groupe de discussion : Bonjour,
J'ai créée une liste déroulante avec un combobox en cellule I10 et cette dernière doit apparaître jusqu'à la cellule I372. Peut-on répéter cette liste autrement qu'avec un copier/coller car cette manoeuvre alourdi beaucoup trop mon formulaire.
Je dois vous informer que je ne peux créer ma liste déroulante par Données, Validation, car je dois ajouter les propriétés suivantes à ma liste:
Très très débutante en VBA et macros Excel, je me demandais comment faire fonctionner ce code ?
Merci
"acaly" a écrit :
Bonjour,
J'ai créée une liste déroulante avec un combobox en cellule I10 et cette dernière doit apparaître jusqu'à la cellule I372. Peut-on répéter cette liste autrement qu'avec un copier/coller car cette manoeuvre alourdi beaucoup trop mon formulaire.
Je dois vous informer que je ne peux créer ma liste déroulante par Données, Validation, car je dois ajouter les propriétés suivantes à ma liste:
Très très débutante en VBA et macros Excel, je me demandais comment faire
fonctionner ce code ?
Merci
"acaly" a écrit :
Bonjour,
J'ai créée une liste déroulante avec un combobox en cellule I10 et cette
dernière doit apparaître jusqu'à la cellule I372. Peut-on répéter cette
liste autrement qu'avec un copier/coller car cette manoeuvre alourdi beaucoup
trop mon formulaire.
Je dois vous informer que je ne peux créer ma liste déroulante par Données,
Validation, car je dois ajouter les propriétés suivantes à ma liste:
Très très débutante en VBA et macros Excel, je me demandais comment faire fonctionner ce code ?
Merci
"acaly" a écrit :
Bonjour,
J'ai créée une liste déroulante avec un combobox en cellule I10 et cette dernière doit apparaître jusqu'à la cellule I372. Peut-on répéter cette liste autrement qu'avec un copier/coller car cette manoeuvre alourdi beaucoup trop mon formulaire.
Je dois vous informer que je ne peux créer ma liste déroulante par Données, Validation, car je dois ajouter les propriétés suivantes à ma liste:
| Très très débutante en VBA et macros Excel, je me | demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le menu contextuel, tu sélectionnes la commande : "Visualiser le code". Dans la page blanche, tu copies le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte d'outils contrôle.
| Très très débutante en VBA et macros Excel, je me
| demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le
menu contextuel, tu sélectionnes la commande :
"Visualiser le code". Dans la page blanche, tu copies
le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte
d'outils contrôle.
| Très très débutante en VBA et macros Excel, je me | demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le menu contextuel, tu sélectionnes la commande : "Visualiser le code". Dans la page blanche, tu copies le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte d'outils contrôle.
acaly
"michdenis" a écrit :
| Très très débutante en VBA et macros Excel, je me | demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le menu contextuel, tu sélectionnes la commande : "Visualiser le code". Dans la page blanche, tu copies le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi aussi mon combobox émane de la boîte d'outils contrôle.
Merci beaucoup
"michdenis" a écrit :
| Très très débutante en VBA et macros Excel, je me
| demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le
menu contextuel, tu sélectionnes la commande :
"Visualiser le code". Dans la page blanche, tu copies
le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte
d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci
ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi
aussi mon combobox émane de la boîte d'outils contrôle.
| Très très débutante en VBA et macros Excel, je me | demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le menu contextuel, tu sélectionnes la commande : "Visualiser le code". Dans la page blanche, tu copies le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi aussi mon combobox émane de la boîte d'outils contrôle.
Ta plage que tu as définie dans ta question est : i10:i372
La macro est activée à chaque fois que tu cliques sur une des cellules de la plage i10:i372. Le combobox se déplace et prend les dimensions de la cellule que tu as sélectionnée
Lorsque tu choisis un élément du combobox, la valeur de la cellule sous le combobox prend la valeur du combobox. Pour déplacer le combobox à nouveau, tu cliques sur une autre cellule de la plage i10:i372.
"acaly" a écrit dans le message de groupe de discussion :
"michdenis" a écrit :
| Très très débutante en VBA et macros Excel, je me | demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le menu contextuel, tu sélectionnes la commande : "Visualiser le code". Dans la page blanche, tu copies le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi aussi mon combobox émane de la boîte d'outils contrôle.
Merci beaucoup
Ta plage que tu as définie dans ta question est : i10:i372
La macro est activée à chaque fois que tu cliques sur une
des cellules de la plage i10:i372. Le combobox se déplace
et prend les dimensions de la cellule que tu as sélectionnée
Lorsque tu choisis un élément du combobox, la valeur de la
cellule sous le combobox prend la valeur du combobox.
Pour déplacer le combobox à nouveau, tu cliques sur une autre
cellule de la plage i10:i372.
"acaly" <acaly@discussions.microsoft.com> a écrit dans le message de groupe de discussion
: FB9D1E34-0BF5-48B6-9986-B15DD754650A@microsoft.com...
"michdenis" a écrit :
| Très très débutante en VBA et macros Excel, je me
| demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le
menu contextuel, tu sélectionnes la commande :
"Visualiser le code". Dans la page blanche, tu copies
le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte
d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci
ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi
aussi mon combobox émane de la boîte d'outils contrôle.
Ta plage que tu as définie dans ta question est : i10:i372
La macro est activée à chaque fois que tu cliques sur une des cellules de la plage i10:i372. Le combobox se déplace et prend les dimensions de la cellule que tu as sélectionnée
Lorsque tu choisis un élément du combobox, la valeur de la cellule sous le combobox prend la valeur du combobox. Pour déplacer le combobox à nouveau, tu cliques sur une autre cellule de la plage i10:i372.
"acaly" a écrit dans le message de groupe de discussion :
"michdenis" a écrit :
| Très très débutante en VBA et macros Excel, je me | demandais comment faire fonctionner ce code ?
Tu fais un clic droit sur l'onglet de la feuille, et dans le menu contextuel, tu sélectionnes la commande : "Visualiser le code". Dans la page blanche, tu copies le code que j'ai commis.
N.B- Le combobox que j'ai utilisé émane de la boîte d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi aussi mon combobox émane de la boîte d'outils contrôle.
Merci beaucoup
acaly
"FdeCourt" a écrit :
Salut,
En changeant la valeur du comboBox !
Cordialement,
F.
.
Bonjour,
Je suis allée dans propriétés et Value, j'imagine que c'est à cet endroit que je dois changer la valeur du combobox, mais que dois-je inscrire ?
Merci beaucoup.
"FdeCourt" a écrit :
Salut,
En changeant la valeur du comboBox !
Cordialement,
F.
.
Bonjour,
Je suis allée dans propriétés et Value, j'imagine que c'est à cet endroit
que je dois changer la valeur du combobox, mais que dois-je inscrire ?
Je suis allée dans propriétés et Value, j'imagine que c'est à cet endroit que je dois changer la valeur du combobox, mais que dois-je inscrire ?
Merci beaucoup.
acaly
Bonjour, Finalement, le code fonctionne, sauf qu'il se déplace d'une cellule à l'autre au lieu de se répéter.
Pouvez-vous, encore une fois, m'aider à solutionner le problème, car c'est vraiment ce que je recherche, conserver le même combobox pour les plages I10 à I372.
Merci beaucoup.
"michdenis" a écrit :
Ta plage que tu as définie dans ta question est : i10:i372
La macro est activée à chaque fois que tu cliques sur une des cellules de la plage i10:i372. Le combobox se déplace et prend les dimensions de la cellule que tu as sélectionnée
Lorsque tu choisis un élément du combobox, la valeur de la cellule sous le combobox prend la valeur du combobox. Pour déplacer le combobox à nouveau, tu cliques sur une autre cellule de la plage i10:i372.
"acaly" a écrit dans le message de groupe de discussion :
"michdenis" a écrit :
> | Très très débutante en VBA et macros Excel, je me > | demandais comment faire fonctionner ce code ? > > Tu fais un clic droit sur l'onglet de la feuille, et dans le > menu contextuel, tu sélectionnes la commande : > "Visualiser le code". Dans la page blanche, tu copies > le code que j'ai commis. > > N.B- Le combobox que j'ai utilisé émane de la boîte > d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi aussi mon combobox émane de la boîte d'outils contrôle.
Merci beaucoup >
Bonjour,
Finalement, le code fonctionne, sauf qu'il se déplace d'une cellule à
l'autre au lieu de se répéter.
Pouvez-vous, encore une fois, m'aider à solutionner le problème, car c'est
vraiment ce que je recherche, conserver le même combobox pour les plages I10
à I372.
Merci beaucoup.
"michdenis" a écrit :
Ta plage que tu as définie dans ta question est : i10:i372
La macro est activée à chaque fois que tu cliques sur une
des cellules de la plage i10:i372. Le combobox se déplace
et prend les dimensions de la cellule que tu as sélectionnée
Lorsque tu choisis un élément du combobox, la valeur de la
cellule sous le combobox prend la valeur du combobox.
Pour déplacer le combobox à nouveau, tu cliques sur une autre
cellule de la plage i10:i372.
"acaly" <acaly@discussions.microsoft.com> a écrit dans le message de groupe de discussion
: FB9D1E34-0BF5-48B6-9986-B15DD754650A@microsoft.com...
"michdenis" a écrit :
> | Très très débutante en VBA et macros Excel, je me
> | demandais comment faire fonctionner ce code ?
>
> Tu fais un clic droit sur l'onglet de la feuille, et dans le
> menu contextuel, tu sélectionnes la commande :
> "Visualiser le code". Dans la page blanche, tu copies
> le code que j'ai commis.
>
> N.B- Le combobox que j'ai utilisé émane de la boîte
> d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci
ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi
aussi mon combobox émane de la boîte d'outils contrôle.
Bonjour, Finalement, le code fonctionne, sauf qu'il se déplace d'une cellule à l'autre au lieu de se répéter.
Pouvez-vous, encore une fois, m'aider à solutionner le problème, car c'est vraiment ce que je recherche, conserver le même combobox pour les plages I10 à I372.
Merci beaucoup.
"michdenis" a écrit :
Ta plage que tu as définie dans ta question est : i10:i372
La macro est activée à chaque fois que tu cliques sur une des cellules de la plage i10:i372. Le combobox se déplace et prend les dimensions de la cellule que tu as sélectionnée
Lorsque tu choisis un élément du combobox, la valeur de la cellule sous le combobox prend la valeur du combobox. Pour déplacer le combobox à nouveau, tu cliques sur une autre cellule de la plage i10:i372.
"acaly" a écrit dans le message de groupe de discussion :
"michdenis" a écrit :
> | Très très débutante en VBA et macros Excel, je me > | demandais comment faire fonctionner ce code ? > > Tu fais un clic droit sur l'onglet de la feuille, et dans le > menu contextuel, tu sélectionnes la commande : > "Visualiser le code". Dans la page blanche, tu copies > le code que j'ai commis. > > N.B- Le combobox que j'ai utilisé émane de la boîte > d'outils contrôle.
Encore une fois bonjour,
Veuillez pardonner mon ignorance, mais j'ai inscris votre code et celui-ci ne démarre pas. Pouvez-vous m'expliquer comment le faire démarrer ? Moi aussi mon combobox émane de la boîte d'outils contrôle.
Merci beaucoup >
michdenis
| Finalement, le code fonctionne, sauf qu'il se déplace | d'une cellule à l'autre au lieu de se répéter.
Je ne comprends pas ton affirmation. Que veux-tu avoir comme résultat ? Comment le combobox doit-il se déplacer s’il doit se déplacer ? Lorsque tu choisis un élément du combobox, où veux-tu copier la valeur du combobox que tu as sélectionné.
C'est à toi de décrire le plus précisément possible la finalité de ton combobox.
| Finalement, le code fonctionne, sauf qu'il se déplace
| d'une cellule à l'autre au lieu de se répéter.
Je ne comprends pas ton affirmation.
Que veux-tu avoir comme résultat ?
Comment le combobox doit-il se déplacer s’il doit se déplacer ?
Lorsque tu choisis un élément du combobox, où veux-tu copier
la valeur du combobox que tu as sélectionné.
C'est à toi de décrire le plus précisément possible la finalité
de ton combobox.
| Finalement, le code fonctionne, sauf qu'il se déplace | d'une cellule à l'autre au lieu de se répéter.
Je ne comprends pas ton affirmation. Que veux-tu avoir comme résultat ? Comment le combobox doit-il se déplacer s’il doit se déplacer ? Lorsque tu choisis un élément du combobox, où veux-tu copier la valeur du combobox que tu as sélectionné.
C'est à toi de décrire le plus précisément possible la finalité de ton combobox.
acaly
"michdenis" a écrit :
| Finalement, le code fonctionne, sauf qu'il se déplace | d'une cellule à l'autre au lieu de se répéter.
Je ne comprends pas ton affirmation. Que veux-tu avoir comme résultat ? Comment le combobox doit-il se déplacer s’il doit se déplacer ? Lorsque tu choisis un élément du combobox, où veux-tu copier la valeur du combobox que tu as sélectionné.
C'est à toi de décrire le plus précisément possible la finalité de ton combobox.
Bonjour,
Comme je vous le disais, j’ai testé votre formule et c’est vraiment le résultat recherché. Toutefois, je reçois le message Débogage et la ligne suivante est inscrite en jaune:
If Not Rg Is Nothing And Rg.Cells.Count = 1 Then
Comment peut-on résoudre ce problème ?
Autre question: Est-il possible d’affecter cette formule à plusieurs colonnes, car j’ai des combobox sur I10 Combobox1, J10 Combobox2, K10 Combobox6, O10 Combobox4 et P10 combobox5 et j’aimerais avoir le même résultat.
De plus, j’aimerais savoir si je peux renseigner les propriétés suivantes et à quel endroit :
Ces propriétés me sont nécessaires afin de réduire la largeur de la colonne après choix de l’utilisateur dans la liste déroulante.
Un énorme merci pour votre précieuse aide.
Acaly
"michdenis" a écrit :
| Finalement, le code fonctionne, sauf qu'il se déplace
| d'une cellule à l'autre au lieu de se répéter.
Je ne comprends pas ton affirmation.
Que veux-tu avoir comme résultat ?
Comment le combobox doit-il se déplacer s’il doit se déplacer ?
Lorsque tu choisis un élément du combobox, où veux-tu copier
la valeur du combobox que tu as sélectionné.
C'est à toi de décrire le plus précisément possible la finalité
de ton combobox.
Bonjour,
Comme je vous le disais, j’ai testé votre formule et c’est vraiment le
résultat recherché. Toutefois, je reçois le message Débogage et la ligne
suivante est inscrite en jaune:
If Not Rg Is Nothing And Rg.Cells.Count = 1 Then
Comment peut-on résoudre ce problème ?
Autre question: Est-il possible d’affecter cette formule à plusieurs
colonnes, car j’ai des combobox sur I10 Combobox1, J10 Combobox2, K10
Combobox6, O10 Combobox4 et P10 combobox5 et j’aimerais avoir le même
résultat.
De plus, j’aimerais savoir si je peux renseigner les propriétés suivantes et
à quel endroit :
| Finalement, le code fonctionne, sauf qu'il se déplace | d'une cellule à l'autre au lieu de se répéter.
Je ne comprends pas ton affirmation. Que veux-tu avoir comme résultat ? Comment le combobox doit-il se déplacer s’il doit se déplacer ? Lorsque tu choisis un élément du combobox, où veux-tu copier la valeur du combobox que tu as sélectionné.
C'est à toi de décrire le plus précisément possible la finalité de ton combobox.
Bonjour,
Comme je vous le disais, j’ai testé votre formule et c’est vraiment le résultat recherché. Toutefois, je reçois le message Débogage et la ligne suivante est inscrite en jaune:
If Not Rg Is Nothing And Rg.Cells.Count = 1 Then
Comment peut-on résoudre ce problème ?
Autre question: Est-il possible d’affecter cette formule à plusieurs colonnes, car j’ai des combobox sur I10 Combobox1, J10 Combobox2, K10 Combobox6, O10 Combobox4 et P10 combobox5 et j’aimerais avoir le même résultat.
De plus, j’aimerais savoir si je peux renseigner les propriétés suivantes et à quel endroit :