Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Répéter une liste déroulante créée avec un combobox

15 réponses
Avatar
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:

BoundColumn 1
ColumnCount 2
ListWidth 110
ColumnWidths 50;60
Widths 70

Pouvez-vous m'aider ?

Merci beaucoup.

10 réponses

1 2
Avatar
michdenis
Bonjour,

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:

BoundColumn 1
ColumnCount 2
ListWidth 110
ColumnWidths 50;60
Widths 70

Pouvez-vous m'aider ?

Merci beaucoup.
Avatar
acaly
Bonjour et mersi pour la réponse,

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:

BoundColumn 1
ColumnCount 2
ListWidth 110
ColumnWidths 50;60
Widths 70

Pouvez-vous m'aider ?

Merci beaucoup.


Avatar
michdenis
| 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.
Avatar
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



Avatar
FdeCourt
Salut,

En changeant la valeur du comboBox !

Cordialement,

F.
Avatar
michdenis
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



Avatar
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.
Avatar
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
>


Avatar
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.
Avatar
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 :

BoundColumn 1
ColumnCount 2
ListWidth 110
ColumnWidths 50;60
Widths 70


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
1 2