liste deroulante avec nom de cellule dans userform
6 réponses
ats.ccs
Bonjour,
Sous excel 2002.
Est il possible d'obtenir dans un combox une liste composée de noms de
cellules ? (rowsource=liste)
Exemple de liste :
- indice A faisant référence à la cellule H4 de la feuille "saisie"
- indice B faisant référence à la cellule H4 de la feuille "prov"
- indice C faisant référence à la cellule H5 de la feuille "saisie"
Si je fais de façon "classique", après validation du formulaire, il faut que
j'aille dans ma cellule et que je rajoute le signe égal pour que les calculs
se fassent. Pas génial.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LSteph
Bonjour,
Pour alimenter une combobox il n'y a pas que rowsource tu peux boucler ou ajouter un par un des items
Exemples: ''''''''''''' 'ceci initialize le userform avec dans le combo la cellule h4 de chaque feuille
Private Sub UserForm_Initialize() Dim i As Integer For i = 1 To Sheets.Count If Len(Sheets(i).[H4]) > 0 Then ComboBox1.AddItem Sheets(i).[H4] End If Next i End Sub ''''''''''''''' 'ou encore ceci met directement un texte pour chaque item
Private Sub UserForm_Initialize() with Combobox1 .clear .AddItem "indice A" .AddItem "indice B" .AddItem "indice C" end with End Sub ''''''''''''''''' 'tu peux aussi utiliser des refs ou noms mais cela renverra le contenu de ce à quoi ils font référence exemple Additem [H4] ou AddItem [Indice_A]
supposons que indice_A réfère à H4 qui lui même contient la formul e +33 et en a1 j'ai 10
l'item ajouté sera le texte 43
Pour la suite de ta question je ne comprends pas ce que tu veux dire par "Faire de façon classique" , tu veux faire quoi? je ne vois pas de calcul dans ton exemple ni en quoi les items de liste provoqueraient de devoir aller dans des cellules pour mettre un égal
-- lSteph
On 12 août, 15:07, wrote:
Bonjour,
Sous excel 2002.
Est il possible d'obtenir dans un combox une liste composée de noms de cellules ? (rowsource=liste) Exemple de liste : - indice A faisant référence à la cellule H4 de la feuille "saisie" - indice B faisant référence à la cellule H4 de la feuille "prov" - indice C faisant référence à la cellule H5 de la feuille "saisie" Si je fais de façon "classique", après validation du formulaire, il f aut que j'aille dans ma cellule et que je rajoute le signe égal pour que les ca lculs se fassent. Pas génial.
Merci pour votre aide. BH
Bonjour,
Pour alimenter une combobox il n'y a pas que rowsource tu peux boucler
ou ajouter un par un des items
Exemples:
'''''''''''''
'ceci initialize le userform avec dans le combo la cellule h4 de
chaque feuille
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To Sheets.Count
If Len(Sheets(i).[H4]) > 0 Then
ComboBox1.AddItem Sheets(i).[H4]
End If
Next i
End Sub
'''''''''''''''
'ou encore ceci met directement un texte pour chaque item
Private Sub UserForm_Initialize()
with Combobox1
.clear
.AddItem "indice A"
.AddItem "indice B"
.AddItem "indice C"
end with
End Sub
'''''''''''''''''
'tu peux aussi utiliser des refs ou noms mais cela renverra le contenu
de ce à quoi ils font référence exemple
Additem [H4]
ou
AddItem [Indice_A]
supposons que indice_A réfère à H4 qui lui même contient la formul e
=A1+33
et en a1 j'ai 10
l'item ajouté sera le texte 43
Pour la suite de ta question je ne comprends pas ce que tu veux dire
par
"Faire de façon classique" , tu veux faire quoi?
je ne vois pas de calcul dans ton exemple ni en quoi les items de
liste provoqueraient de devoir aller dans des cellules pour mettre un
égal
--
lSteph
On 12 août, 15:07, ats....@hotmail.fr
<atsccshotmai...@discussions.microsoft.com> wrote:
Bonjour,
Sous excel 2002.
Est il possible d'obtenir dans un combox une liste composée de noms de
cellules ? (rowsource=liste)
Exemple de liste :
- indice A faisant référence à la cellule H4 de la feuille "saisie"
- indice B faisant référence à la cellule H4 de la feuille "prov"
- indice C faisant référence à la cellule H5 de la feuille "saisie"
Si je fais de façon "classique", après validation du formulaire, il f aut que
j'aille dans ma cellule et que je rajoute le signe égal pour que les ca lculs
se fassent. Pas génial.
Pour alimenter une combobox il n'y a pas que rowsource tu peux boucler ou ajouter un par un des items
Exemples: ''''''''''''' 'ceci initialize le userform avec dans le combo la cellule h4 de chaque feuille
Private Sub UserForm_Initialize() Dim i As Integer For i = 1 To Sheets.Count If Len(Sheets(i).[H4]) > 0 Then ComboBox1.AddItem Sheets(i).[H4] End If Next i End Sub ''''''''''''''' 'ou encore ceci met directement un texte pour chaque item
Private Sub UserForm_Initialize() with Combobox1 .clear .AddItem "indice A" .AddItem "indice B" .AddItem "indice C" end with End Sub ''''''''''''''''' 'tu peux aussi utiliser des refs ou noms mais cela renverra le contenu de ce à quoi ils font référence exemple Additem [H4] ou AddItem [Indice_A]
supposons que indice_A réfère à H4 qui lui même contient la formul e +33 et en a1 j'ai 10
l'item ajouté sera le texte 43
Pour la suite de ta question je ne comprends pas ce que tu veux dire par "Faire de façon classique" , tu veux faire quoi? je ne vois pas de calcul dans ton exemple ni en quoi les items de liste provoqueraient de devoir aller dans des cellules pour mettre un égal
-- lSteph
On 12 août, 15:07, wrote:
Bonjour,
Sous excel 2002.
Est il possible d'obtenir dans un combox une liste composée de noms de cellules ? (rowsource=liste) Exemple de liste : - indice A faisant référence à la cellule H4 de la feuille "saisie" - indice B faisant référence à la cellule H4 de la feuille "prov" - indice C faisant référence à la cellule H5 de la feuille "saisie" Si je fais de façon "classique", après validation du formulaire, il f aut que j'aille dans ma cellule et que je rajoute le signe égal pour que les ca lculs se fassent. Pas génial.
Merci pour votre aide. BH
ats.ccs
Merci pour votre réponse.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer votre exmple. J'essaye de faire mieux : J'ai dans un onglet des cellules nommées. J'ai créé un petit formulaire de saisie. Je voudrais que la personne qui remplit le formulaire puisse choisir un des noms dans une liste déroulante et lorsque le formulaire est validé le nom se transforme en valeur pour que les calculs se fassent. Or mes maigres connaissances font que lorsque je valide le formulaire, le texte du nom va dans la cellule souhaité mais en texte pas en valeur j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur à l'instant T.
Par avance, merci. BH
Merci pour votre réponse.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer
votre exmple.
J'essaye de faire mieux :
J'ai dans un onglet des cellules nommées.
J'ai créé un petit formulaire de saisie.
Je voudrais que la personne qui remplit le formulaire puisse choisir un des
noms dans une liste déroulante et lorsque le formulaire est validé le nom se
transforme en valeur pour que les calculs se fassent.
Or mes maigres connaissances font que lorsque je valide le formulaire, le
texte du nom va dans la cellule souhaité mais en texte pas en valeur
j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible
je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible
Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur
à l'instant T.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer votre exmple. J'essaye de faire mieux : J'ai dans un onglet des cellules nommées. J'ai créé un petit formulaire de saisie. Je voudrais que la personne qui remplit le formulaire puisse choisir un des noms dans une liste déroulante et lorsque le formulaire est validé le nom se transforme en valeur pour que les calculs se fassent. Or mes maigres connaissances font que lorsque je valide le formulaire, le texte du nom va dans la cellule souhaité mais en texte pas en valeur j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur à l'instant T.
Par avance, merci. BH
LSteph
.. alors, exemple simple si dans l'initialize du formulaire on a (entre autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je valide mon formulaire après avoir sélectionné indice_A dedans. si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
-- lSteph
On 12 août, 16:48, wrote:
Merci pour votre réponse.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transp oser votre exmple. J'essaye de faire mieux : J'ai dans un onglet des cellules nommées. J'ai créé un petit formulaire de saisie. Je voudrais que la personne qui remplit le formulaire puisse choisir un d es noms dans une liste déroulante et lorsque le formulaire est validé le nom se transforme en valeur pour que les calculs se fassent. Or mes maigres connaissances font que lorsque je valide le formulaire, le texte du nom va dans la cellule souhaité mais en texte pas en valeur j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible je voudrais : contenu de la cellule XX : =indice_mess --> calcul possib le Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa vale ur à l'instant T.
Par avance, merci. BH
..
alors, exemple simple si dans l'initialize du formulaire on a (entre
autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je
valide mon formulaire après avoir sélectionné indice_A dedans.
si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit
utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
--
lSteph
On 12 août, 16:48, ats....@hotmail.fr
<atsccshotmai...@discussions.microsoft.com> wrote:
Merci pour votre réponse.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transp oser
votre exmple.
J'essaye de faire mieux :
J'ai dans un onglet des cellules nommées.
J'ai créé un petit formulaire de saisie.
Je voudrais que la personne qui remplit le formulaire puisse choisir un d es
noms dans une liste déroulante et lorsque le formulaire est validé le nom se
transforme en valeur pour que les calculs se fassent.
Or mes maigres connaissances font que lorsque je valide le formulaire, le
texte du nom va dans la cellule souhaité mais en texte pas en valeur
j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible
je voudrais : contenu de la cellule XX : =indice_mess --> calcul possib le
Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa vale ur
à l'instant T.
.. alors, exemple simple si dans l'initialize du formulaire on a (entre autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je valide mon formulaire après avoir sélectionné indice_A dedans. si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
-- lSteph
On 12 août, 16:48, wrote:
Merci pour votre réponse.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transp oser votre exmple. J'essaye de faire mieux : J'ai dans un onglet des cellules nommées. J'ai créé un petit formulaire de saisie. Je voudrais que la personne qui remplit le formulaire puisse choisir un d es noms dans une liste déroulante et lorsque le formulaire est validé le nom se transforme en valeur pour que les calculs se fassent. Or mes maigres connaissances font que lorsque je valide le formulaire, le texte du nom va dans la cellule souhaité mais en texte pas en valeur j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible je voudrais : contenu de la cellule XX : =indice_mess --> calcul possib le Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa vale ur à l'instant T.
Par avance, merci. BH
ats.ccs
Merci beaucoup, j'ai encore besoin d'un coup de pouce
Pour transférer dans ma feuille, j'utilise la syntaxe suivante
Comment et où dois je écrire [c2].FormulaLocal = "=" & quote_mess
Encore merci. BH
"LSteph" wrote:
... alors, exemple simple si dans l'initialize du formulaire on a (entre autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je valide mon formulaire après avoir sélectionné indice_A dedans. si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
-- lSteph
On 12 août, 16:48, wrote: > Merci pour votre réponse. > > Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer > votre exmple. > J'essaye de faire mieux : > J'ai dans un onglet des cellules nommées. > J'ai créé un petit formulaire de saisie. > Je voudrais que la personne qui remplit le formulaire puisse choisir un des > noms dans une liste déroulante et lorsque le formulaire est validé le nom se > transforme en valeur pour que les calculs se fassent. > Or mes maigres connaissances font que lorsque je valide le formulaire, le > texte du nom va dans la cellule souhaité mais en texte pas en valeur > j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible > je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible > Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur > à l'instant T. > > Par avance, merci. > BH
Merci beaucoup, j'ai encore besoin d'un coup de pouce
Pour transférer dans ma feuille, j'utilise la syntaxe suivante
Comment et où dois je écrire
[c2].FormulaLocal = "=" & quote_mess
Encore merci.
BH
"LSteph" wrote:
...
alors, exemple simple si dans l'initialize du formulaire on a (entre
autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je
valide mon formulaire après avoir sélectionné indice_A dedans.
si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit
utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
--
lSteph
On 12 août, 16:48, ats....@hotmail.fr
<atsccshotmai...@discussions.microsoft.com> wrote:
> Merci pour votre réponse.
>
> Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer
> votre exmple.
> J'essaye de faire mieux :
> J'ai dans un onglet des cellules nommées.
> J'ai créé un petit formulaire de saisie.
> Je voudrais que la personne qui remplit le formulaire puisse choisir un des
> noms dans une liste déroulante et lorsque le formulaire est validé le nom se
> transforme en valeur pour que les calculs se fassent.
> Or mes maigres connaissances font que lorsque je valide le formulaire, le
> texte du nom va dans la cellule souhaité mais en texte pas en valeur
> j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible
> je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible
> Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur
> à l'instant T.
>
> Par avance, merci.
> BH
Comment et où dois je écrire [c2].FormulaLocal = "=" & quote_mess
Encore merci. BH
"LSteph" wrote:
... alors, exemple simple si dans l'initialize du formulaire on a (entre autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je valide mon formulaire après avoir sélectionné indice_A dedans. si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
-- lSteph
On 12 août, 16:48, wrote: > Merci pour votre réponse. > > Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer > votre exmple. > J'essaye de faire mieux : > J'ai dans un onglet des cellules nommées. > J'ai créé un petit formulaire de saisie. > Je voudrais que la personne qui remplit le formulaire puisse choisir un des > noms dans une liste déroulante et lorsque le formulaire est validé le nom se > transforme en valeur pour que les calculs se fassent. > Or mes maigres connaissances font que lorsque je valide le formulaire, le > texte du nom va dans la cellule souhaité mais en texte pas en valeur > j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible > je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible > Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur > à l'instant T. > > Par avance, merci. > BH
LSteph
Cells(ligne, 7).formula = "=" & quote_mess
a écrit :
Merci beaucoup, j'ai encore besoin d'un coup de pouce
Pour transférer dans ma feuille, j'utilise la syntaxe suivante
Comment et où dois je écrire [c2].FormulaLocal = "=" & quote_mess
Encore merci. BH
"LSteph" wrote:
... alors, exemple simple si dans l'initialize du formulaire on a (entre autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je valide mon formulaire après avoir sélectionné indice_A dedans. si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
-- lSteph
On 12 août, 16:48, wrote:
Merci pour votre réponse.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer votre exmple. J'essaye de faire mieux : J'ai dans un onglet des cellules nommées. J'ai créé un petit formulaire de saisie. Je voudrais que la personne qui remplit le formulaire puisse choisir un des noms dans une liste déroulante et lorsque le formulaire est validé le nom se transforme en valeur pour que les calculs se fassent. Or mes maigres connaissances font que lorsque je valide le formulaire, le texte du nom va dans la cellule souhaité mais en texte pas en valeur j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur à l'instant T.
Par avance, merci. BH
Cells(ligne, 7).formula = "=" & quote_mess
ats.ccs@hotmail.fr a écrit :
Merci beaucoup, j'ai encore besoin d'un coup de pouce
Pour transférer dans ma feuille, j'utilise la syntaxe suivante
Comment et où dois je écrire
[c2].FormulaLocal = "=" & quote_mess
Encore merci.
BH
"LSteph" wrote:
...
alors, exemple simple si dans l'initialize du formulaire on a (entre
autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je
valide mon formulaire après avoir sélectionné indice_A dedans.
si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit
utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
--
lSteph
On 12 août, 16:48, ats....@hotmail.fr
<atsccshotmai...@discussions.microsoft.com> wrote:
Merci pour votre réponse.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer
votre exmple.
J'essaye de faire mieux :
J'ai dans un onglet des cellules nommées.
J'ai créé un petit formulaire de saisie.
Je voudrais que la personne qui remplit le formulaire puisse choisir un des
noms dans une liste déroulante et lorsque le formulaire est validé le nom se
transforme en valeur pour que les calculs se fassent.
Or mes maigres connaissances font que lorsque je valide le formulaire, le
texte du nom va dans la cellule souhaité mais en texte pas en valeur
j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible
je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible
Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur
à l'instant T.
Comment et où dois je écrire [c2].FormulaLocal = "=" & quote_mess
Encore merci. BH
"LSteph" wrote:
... alors, exemple simple si dans l'initialize du formulaire on a (entre autres):
Combobox1.AddItem "indice_A"
et que ce nom réfère à une cellule qui renvoie un calcul,lorsque je valide mon formulaire après avoir sélectionné indice_A dedans. si je veux renvoyer ce nom (par exemple) en c2 pour que celui-ci soit utilisé par suite dans les calculs j'écrirai ceci:
[c2].FormulaLocal = "=" & ComboBox1
Cordialement.
-- lSteph
On 12 août, 16:48, wrote:
Merci pour votre réponse.
Une nouvelle fois, j'ai du mal m'exprimé car je n'arrive pas à transposer votre exmple. J'essaye de faire mieux : J'ai dans un onglet des cellules nommées. J'ai créé un petit formulaire de saisie. Je voudrais que la personne qui remplit le formulaire puisse choisir un des noms dans une liste déroulante et lorsque le formulaire est validé le nom se transforme en valeur pour que les calculs se fassent. Or mes maigres connaissances font que lorsque je valide le formulaire, le texte du nom va dans la cellule souhaité mais en texte pas en valeur j'obtiens le contenu de la cellule XX : indice_mess --> calcul impossible je voudrais : contenu de la cellule XX : =indice_mess --> calcul possible Dans le temps, cet indice bouge, je veux donc avoir le nom et pas sa valeur à l'instant T.