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

Comment alimenter une ComboBox à partir d'une liste située sur la feuille active

7 réponses
Avatar
Antoine
Bonsoir à tous

Dans un userform (XP/Excel2000), j'ai mis une ComboBox, que je souhaiterais
"alimenter" à partir d'une liste, située sur la feuille active, située en
colonne A, mais seulement à partir d'une cellule nommée "gmci_7" (car le
tableau est amené à augmenter, par insertion de lignes avant "gmci_7"). La
valeur recueillie par cette ComboBox (provenant, par exemple, de A43) sera
alors toujours affectée à la cellule fixe A8, de cette même feuille.
Je voudrais aussi que la cellules voisine de A8 (B8, toujours fixe aussi)
soit affectée de la valeur, de la cellule voisine de celle recueillie par la
ComboBox (donc en colonne B et même ligne)-(B43 dans notre exemple).
Je ne sais pas si c'est très clairement expliqué ! Si nécessaire, je peux
mettre le fichier en Cjoint.

Je ne sais pas comment faire pour alimenter la ComboBox par une boucle en
AddItem, afin de récupérer les valeurs en colonne A de gmci_7 jusqu'a la fin
de la colonne A, ni pour attribuer à B8 la valeur de la cellule choisie via
la ComboBox?

Petite précision : la colonne A ne contient que des Nom/prénom, et la
colonne B que des numéros de SS.

Merci à tous

Antoine

7 réponses

Avatar
LSteph
Bonsoir Antoine,
exemple dans le code du userform qui comprend combobox1 et commandbutton1:

'>pour alimenter la ComboBox .... afin de récupérer les valeurs en colonne A
de gmci_7 jusqu'a la fin
'> de la colonne A
'*********
Private Sub UserForm_Initialize()
ComboBox1.RowSource = Range(Range("gmci_7"), [a65536].End(xlUp)).Address
End Sub

'*********
'>.....pour attribuer à B8 la valeur de la cellule choisie via
'> la ComboBox
'*********
Private Sub CommandButton1_Click()
[b8] = ComboBox1
Unload Me
End Sub
'*********

'lSteph




"Antoine" a écrit dans le message de news:
%
Bonsoir à tous

Dans un userform (XP/Excel2000), j'ai mis une ComboBox, que je
souhaiterais "alimenter" à partir d'une liste, située sur la feuille
active, située en colonne A, mais seulement à partir d'une cellule nommée
"gmci_7" (car le tableau est amené à augmenter, par insertion de lignes
avant "gmci_7"). La valeur recueillie par cette ComboBox (provenant, par
exemple, de A43) sera alors toujours affectée à la cellule fixe A8, de
cette même feuille.
Je voudrais aussi que la cellules voisine de A8 (B8, toujours fixe aussi)
soit affectée de la valeur, de la cellule voisine de celle recueillie par
la ComboBox (donc en colonne B et même ligne)-(B43 dans notre exemple).
Je ne sais pas si c'est très clairement expliqué ! Si nécessaire, je peux
mettre le fichier en Cjoint.

Je ne sais pas comment faire pour alimenter la ComboBox par une boucle en
AddItem, afin de récupérer les valeurs en colonne A de gmci_7 jusqu'a la
fin de la colonne A, ni pour attribuer à B8 la valeur de la cellule
choisie via la ComboBox?

Petite précision : la colonne A ne contient que des Nom/prénom, et la
colonne B que des numéros de SS.

Merci à tous

Antoine



Avatar
Antoine
Bonsoir LSteph

Merci à toi pour ton aide

Je ne connaissais pas du tout "RowSource" tout court (et donc encore moins
pour une ComboBox).
Merci à toi pour ce petit coup de pouce !
Je crois que tu as fait la démonstration (ou plutôt la confirmation), de ce
proverbe chinois (ou supposé tel) que l'on prête à Confucius, (que j'ai cité
une fois sur MFPE) à savoir :

- Donne un poison à un homme, tu le nourris pour la journée , apprends-lui à
pêcher, tu le nourris pour la vie...

Ce que tu m'as transmis n'a tenu qu'en quelques lignes, et pourtant ça
suffit pour faire la différence entre : "y-arriver tout seul" , ou " ne
réussir que par (ou grâce) les autres!

Merci à toi!

Antoine

"LSteph" a écrit dans le message de news:

Bonsoir Antoine,
exemple dans le code du userform qui comprend combobox1 et commandbutton1:

'>pour alimenter la ComboBox .... afin de récupérer les valeurs en colonne
A de gmci_7 jusqu'a la fin
'> de la colonne A
'*********
Private Sub UserForm_Initialize()
ComboBox1.RowSource = Range(Range("gmci_7"), [a65536].End(xlUp)).Address
End Sub

'*********
'>.....pour attribuer à B8 la valeur de la cellule choisie via
'> la ComboBox
'*********
Private Sub CommandButton1_Click()
[b8] = ComboBox1
Unload Me
End Sub
'*********

'lSteph




"Antoine" a écrit dans le message de news:
%
Bonsoir à tous

Dans un userform (XP/Excel2000), j'ai mis une ComboBox, que je
souhaiterais "alimenter" à partir d'une liste, située sur la feuille
active, située en colonne A, mais seulement à partir d'une cellule nommée
"gmci_7" (car le tableau est amené à augmenter, par insertion de lignes
avant "gmci_7"). La valeur recueillie par cette ComboBox (provenant, par
exemple, de A43) sera alors toujours affectée à la cellule fixe A8, de
cette même feuille.
Je voudrais aussi que la cellules voisine de A8 (B8, toujours fixe aussi)
soit affectée de la valeur, de la cellule voisine de celle recueillie par
la ComboBox (donc en colonne B et même ligne)-(B43 dans notre exemple).
Je ne sais pas si c'est très clairement expliqué ! Si nécessaire, je peux
mettre le fichier en Cjoint.

Je ne sais pas comment faire pour alimenter la ComboBox par une boucle en
AddItem, afin de récupérer les valeurs en colonne A de gmci_7 jusqu'a la
fin de la colonne A, ni pour attribuer à B8 la valeur de la cellule
choisie via la ComboBox?

Petite précision : la colonne A ne contient que des Nom/prénom, et la
colonne B que des numéros de SS.

Merci à tous

Antoine







Avatar
Antoine
Bonsoir LSteph

Merci à toi pour ton aide

Je ne connaissais pas du tout "RowSource" tout court (et donc encore moins
pour une ComboBox).
Merci à toi pour ce petit coup de pouce !
Je crois que tu as fait la démonstration (ou plutôt la confirmation), de ce
proverbe chinois (ou supposé tel) que l'on prête à Confucius, (que j'ai cité
une fois sur MFPE) à savoir :

- Donne un poison à un homme, tu le nourris pour la journée , apprends-lui à
pêcher, tu le nourris pour la vie...

Ce que tu m'as transmis n'a tenu qu'en quelques lignes, et pourtant ça
suffit pour faire la différence entre : "y-arriver tout seul" , ou " ne
réussir que par (ou grâce) les autres!

Merci à toi!

Antoine

"LSteph" a écrit dans le message de news:

Bonsoir Antoine,
exemple dans le code du userform qui comprend combobox1 et commandbutton1:

'>pour alimenter la ComboBox .... afin de récupérer les valeurs en colonne
A de gmci_7 jusqu'a la fin
'> de la colonne A
'*********
Private Sub UserForm_Initialize()
ComboBox1.RowSource = Range(Range("gmci_7"), [a65536].End(xlUp)).Address
End Sub

'*********
'>.....pour attribuer à B8 la valeur de la cellule choisie via
'> la ComboBox
'*********
Private Sub CommandButton1_Click()
[b8] = ComboBox1
Unload Me
End Sub
'*********

'lSteph




"Antoine" a écrit dans le message de news:
%
Bonsoir à tous

Dans un userform (XP/Excel2000), j'ai mis une ComboBox, que je
souhaiterais "alimenter" à partir d'une liste, située sur la feuille
active, située en colonne A, mais seulement à partir d'une cellule nommée
"gmci_7" (car le tableau est amené à augmenter, par insertion de lignes
avant "gmci_7"). La valeur recueillie par cette ComboBox (provenant, par
exemple, de A43) sera alors toujours affectée à la cellule fixe A8, de
cette même feuille.
Je voudrais aussi que la cellules voisine de A8 (B8, toujours fixe aussi)
soit affectée de la valeur, de la cellule voisine de celle recueillie par
la ComboBox (donc en colonne B et même ligne)-(B43 dans notre exemple).
Je ne sais pas si c'est très clairement expliqué ! Si nécessaire, je peux
mettre le fichier en Cjoint.

Je ne sais pas comment faire pour alimenter la ComboBox par une boucle en
AddItem, afin de récupérer les valeurs en colonne A de gmci_7 jusqu'a la
fin de la colonne A, ni pour attribuer à B8 la valeur de la cellule
choisie via la ComboBox?

Petite précision : la colonne A ne contient que des Nom/prénom, et la
colonne B que des numéros de SS.

Merci à tous

Antoine







Avatar
LSteph
;o) Excel,Vba, oui à petites doses inoculé, on y prend vite goût,
mais loin de moi l'idée de te donner un poison, alors un poisson sans doute
et il nagera plus vite!
à bientôt

lSteph
"Antoine" a écrit dans le message de news:

Bonsoir LSteph

Merci à toi pour ton aide

Je ne connaissais pas du tout "RowSource" tout court (et donc encore moins
pour une ComboBox).
Merci à toi pour ce petit coup de pouce !
Je crois que tu as fait la démonstration (ou plutôt la confirmation), de
ce proverbe chinois (ou supposé tel) que l'on prête à Confucius, (que j'ai
cité une fois sur MFPE) à savoir :

- Donne un poison à un homme, tu le nourris pour la journée , apprends-lui
à
pêcher, tu le nourris pour la vie...

Ce que tu m'as transmis n'a tenu qu'en quelques lignes, et pourtant ça
suffit pour faire la différence entre : "y-arriver tout seul" , ou " ne
réussir que par (ou grâce) les autres!

Merci à toi!

Antoine

"LSteph" a écrit dans le message de news:

Bonsoir Antoine,
exemple dans le code du userform qui comprend combobox1 et
commandbutton1:

'>pour alimenter la ComboBox .... afin de récupérer les valeurs en
colonne A de gmci_7 jusqu'a la fin
'> de la colonne A
'*********
Private Sub UserForm_Initialize()
ComboBox1.RowSource = Range(Range("gmci_7"), [a65536].End(xlUp)).Address
End Sub

'*********
'>.....pour attribuer à B8 la valeur de la cellule choisie via
'> la ComboBox
'*********
Private Sub CommandButton1_Click()
[b8] = ComboBox1
Unload Me
End Sub
'*********

'lSteph




"Antoine" a écrit dans le message de news:
%
Bonsoir à tous

Dans un userform (XP/Excel2000), j'ai mis une ComboBox, que je
souhaiterais "alimenter" à partir d'une liste, située sur la feuille
active, située en colonne A, mais seulement à partir d'une cellule
nommée "gmci_7" (car le tableau est amené à augmenter, par insertion de
lignes avant "gmci_7"). La valeur recueillie par cette ComboBox
(provenant, par exemple, de A43) sera alors toujours affectée à la
cellule fixe A8, de cette même feuille.
Je voudrais aussi que la cellules voisine de A8 (B8, toujours fixe
aussi) soit affectée de la valeur, de la cellule voisine de celle
recueillie par la ComboBox (donc en colonne B et même ligne)-(B43 dans
notre exemple).
Je ne sais pas si c'est très clairement expliqué ! Si nécessaire, je
peux mettre le fichier en Cjoint.

Je ne sais pas comment faire pour alimenter la ComboBox par une boucle
en AddItem, afin de récupérer les valeurs en colonne A de gmci_7 jusqu'a
la fin de la colonne A, ni pour attribuer à B8 la valeur de la cellule
choisie via la ComboBox?

Petite précision : la colonne A ne contient que des Nom/prénom, et la
colonne B que des numéros de SS.

Merci à tous

Antoine











Avatar
LSteph
A y relire, si tu as besoin de la cellule voisine d'une cellule par exemple
pour la cellule active celle à droite c'est c'est activecell.offset(0,1)
celle 2 case plus bas sera .offset(2,0) la ligne audessus
.offset(-1,0)...etc
...
la propriété Listindex renvoie la position (numero) de l'élément choisi dans
la liste
ainsi si tu as mis le rowsource de la combobox par rapport à A
départ en "gmci_7" et arrivée en [a65536].End(xlUp)

'*********

Private Sub CommandButton1_Click()
[b8] = Range("gmci_7").Offset(ComboBox1.ListIndex, 1)
Unload Me
End Sub
'*********

'lSteph

"Antoine" a écrit dans le message de news:
%
Bonsoir à tous

Dans un userform (XP/Excel2000), j'ai mis une ComboBox, que je
souhaiterais "alimenter" à partir d'une liste, située sur la feuille
active, située en colonne A, mais seulement à partir d'une cellule nommée
"gmci_7" (car le tableau est amené à augmenter, par insertion de lignes
avant "gmci_7"). La valeur recueillie par cette ComboBox (provenant, par
exemple, de A43) sera alors toujours affectée à la cellule fixe A8, de
cette même feuille.
Je voudrais aussi que la cellules voisine de A8 (B8, toujours fixe aussi)
soit affectée de la valeur, de la cellule voisine de celle recueillie par
la ComboBox (donc en colonne B et même ligne)-(B43 dans notre exemple).
Je ne sais pas si c'est très clairement expliqué ! Si nécessaire, je peux
mettre le fichier en Cjoint.

Je ne sais pas comment faire pour alimenter la ComboBox par une boucle en
AddItem, afin de récupérer les valeurs en colonne A de gmci_7 jusqu'a la
fin de la colonne A, ni pour attribuer à B8 la valeur de la cellule
choisie via la ComboBox?

Petite précision : la colonne A ne contient que des Nom/prénom, et la
colonne B que des numéros de SS.

Merci à tous

Antoine



Avatar
Antoine
"Mon honorable interlocuteur aura corrigé de lui même, ce que le bon sens
eut voulu que je ne désigna en aucune manière"
Et pourtant, je croyais avoir bien relu le message avant expédition !
Même le correcteur orthographique de l'oncle Bill n'y a vu "que du feu" !

Je pas trouvé dans mes livres VBA, RowSource et List Index .
C'est pourquoi je m'orientais sur un : ComboBox.AddItem vertcellule.value
dans une boucle For Each In...
Ce que tu m'as indiqué propre et net.
No Comment !

Merci pour ton aide

Antoine

P.S. Quant à l'addiction au VBA et à ce genre de programmation, ça gagne !

"LSteph" a écrit dans le message de news:

;o) Excel,Vba, oui à petites doses inoculé, on y prend vite goût,
mais loin de moi l'idée de te donner un poison, alors un poisson sans
doute et il nagera plus vite!
à bientôt

lSteph
"Antoine" a écrit dans le message de news:

Bonsoir LSteph

Merci à toi pour ton aide

Je ne connaissais pas du tout "RowSource" tout court (et donc encore
moins pour une ComboBox).
Merci à toi pour ce petit coup de pouce !
Je crois que tu as fait la démonstration (ou plutôt la confirmation), de
ce proverbe chinois (ou supposé tel) que l'on prête à Confucius, (que
j'ai cité une fois sur MFPE) à savoir :

- Donne un poison à un homme, tu le nourris pour la journée ,
apprends-lui à
pêcher, tu le nourris pour la vie...

Ce que tu m'as transmis n'a tenu qu'en quelques lignes, et pourtant ça
suffit pour faire la différence entre : "y-arriver tout seul" , ou " ne
réussir que par (ou grâce) les autres!

Merci à toi!

Antoine

"LSteph" a écrit dans le message de news:

Bonsoir Antoine,
exemple dans le code du userform qui comprend combobox1 et
commandbutton1:

'>pour alimenter la ComboBox .... afin de récupérer les valeurs en
colonne A de gmci_7 jusqu'a la fin
'> de la colonne A
'*********
Private Sub UserForm_Initialize()
ComboBox1.RowSource = Range(Range("gmci_7"), [a65536].End(xlUp)).Address
End Sub

'*********
'>.....pour attribuer à B8 la valeur de la cellule choisie via
'> la ComboBox
'*********
Private Sub CommandButton1_Click()
[b8] = ComboBox1
Unload Me
End Sub
'*********

'lSteph




"Antoine" a écrit dans le message de news:
%
Bonsoir à tous

Dans un userform (XP/Excel2000), j'ai mis une ComboBox, que je
souhaiterais "alimenter" à partir d'une liste, située sur la feuille
active, située en colonne A, mais seulement à partir d'une cellule
nommée "gmci_7" (car le tableau est amené à augmenter, par insertion de
lignes avant "gmci_7"). La valeur recueillie par cette ComboBox
(provenant, par exemple, de A43) sera alors toujours affectée à la
cellule fixe A8, de cette même feuille.
Je voudrais aussi que la cellules voisine de A8 (B8, toujours fixe
aussi) soit affectée de la valeur, de la cellule voisine de celle
recueillie par la ComboBox (donc en colonne B et même ligne)-(B43 dans
notre exemple).
Je ne sais pas si c'est très clairement expliqué ! Si nécessaire, je
peux mettre le fichier en Cjoint.

Je ne sais pas comment faire pour alimenter la ComboBox par une boucle
en AddItem, afin de récupérer les valeurs en colonne A de gmci_7
jusqu'a la fin de la colonne A, ni pour attribuer à B8 la valeur de la
cellule choisie via la ComboBox?

Petite précision : la colonne A ne contient que des Nom/prénom, et la
colonne B que des numéros de SS.

Merci à tous

Antoine















Avatar
LSteph
Bonsoir,
....
la boucle reste qd même aussi une façon bien utile surtout qd on veut
éviter des doublons ou ne sélectionner que certains éléments dans une plage.

Je pas trouvé dans mes livres VBA, RowSource et ListIndex
Affichage la fenêtre des propriétés sur sélection d'un objet dans userform

puis f1 sur une propriété ou bien aussi
quand tu écris du code dans vbe juste après le point d'un objet valide
apparaît une liste dans laquelle tu trouvera
les propriétés,méthodes...etc en usage pour cet objet qd il y en a un que
tu ne connais pas entre le surligne le et appuie sur f1.
Tu peux aussi aller voir idem dans l'explorateur d'objets

A+

lSteph

"Antoine" a écrit dans le message de news:

"Mon honorable interlocuteur aura corrigé de lui même, ce que le bon sens
eut voulu que je ne désigna en aucune manière"
Et pourtant, je croyais avoir bien relu le message avant expédition !
Même le correcteur orthographique de l'oncle Bill n'y a vu "que du feu" !

Je pas trouvé dans mes livres VBA, RowSource et List Index .
C'est pourquoi je m'orientais sur un : ComboBox.AddItem vertcellule.value
dans une boucle For Each In...
Ce que tu m'as indiqué propre et net.
No Comment !

Merci pour ton aide

Antoine

P.S. Quant à l'addiction au VBA et à ce genre de programmation, ça gagne !

"LSteph" a écrit dans le message de news:

;o) Excel,Vba, oui à petites doses inoculé, on y prend vite goût,
mais loin de moi l'idée de te donner un poison, alors un poisson sans
doute et il nagera plus vite!
à bientôt

lSteph
"Antoine" a écrit dans le message de news:

Bonsoir LSteph

Merci à toi pour ton aide

Je ne connaissais pas du tout "RowSource" tout court (et donc encore
moins pour une ComboBox).
Merci à toi pour ce petit coup de pouce !
Je crois que tu as fait la démonstration (ou plutôt la confirmation), de
ce proverbe chinois (ou supposé tel) que l'on prête à Confucius, (que
j'ai cité une fois sur MFPE) à savoir :

- Donne un poison à un homme, tu le nourris pour la journée ,
apprends-lui à
pêcher, tu le nourris pour la vie...

Ce que tu m'as transmis n'a tenu qu'en quelques lignes, et pourtant ça
suffit pour faire la différence entre : "y-arriver tout seul" , ou " ne
réussir que par (ou grâce) les autres!

Merci à toi!

Antoine

"LSteph" a écrit dans le message de news:

Bonsoir Antoine,
exemple dans le code du userform qui comprend combobox1 et
commandbutton1:

'>pour alimenter la ComboBox .... afin de récupérer les valeurs en
colonne A de gmci_7 jusqu'a la fin
'> de la colonne A
'*********
Private Sub UserForm_Initialize()
ComboBox1.RowSource = Range(Range("gmci_7"),
[a65536].End(xlUp)).Address
End Sub

'*********
'>.....pour attribuer à B8 la valeur de la cellule choisie via
'> la ComboBox
'*********
Private Sub CommandButton1_Click()
[b8] = ComboBox1
Unload Me
End Sub
'*********

'lSteph




"Antoine" a écrit dans le message de
news: %
Bonsoir à tous

Dans un userform (XP/Excel2000), j'ai mis une ComboBox, que je
souhaiterais "alimenter" à partir d'une liste, située sur la feuille
active, située en colonne A, mais seulement à partir d'une cellule
nommée "gmci_7" (car le tableau est amené à augmenter, par insertion
de lignes avant "gmci_7"). La valeur recueillie par cette ComboBox
(provenant, par exemple, de A43) sera alors toujours affectée à la
cellule fixe A8, de cette même feuille.
Je voudrais aussi que la cellules voisine de A8 (B8, toujours fixe
aussi) soit affectée de la valeur, de la cellule voisine de celle
recueillie par la ComboBox (donc en colonne B et même ligne)-(B43 dans
notre exemple).
Je ne sais pas si c'est très clairement expliqué ! Si nécessaire, je
peux mettre le fichier en Cjoint.

Je ne sais pas comment faire pour alimenter la ComboBox par une boucle
en AddItem, afin de récupérer les valeurs en colonne A de gmci_7
jusqu'a la fin de la colonne A, ni pour attribuer à B8 la valeur de la
cellule choisie via la ComboBox?

Petite précision : la colonne A ne contient que des Nom/prénom, et la
colonne B que des numéros de SS.

Merci à tous

Antoine