OVH Cloud OVH Cloud

Liste de choix liées

13 réponses
Avatar
condaminfred
Bonjour ,

J'aurais besoin de votre aide pour creer deux listes de choix
d=E9pendantes .

Voici le probleme :
J'aurais voulu creer 2 listes de choix li=E9es

Par exemple
1 ere liste LOGICIEL ET MATERIEL

et 2 eme liste associ=E9 =E0 la premiere

si je choisi logiciel -->
seconde liste : Word , Excel , firefox

si je choisi materiel : processeur , carte mere...

Je voudrais la meme liste sur toute les cellules d'une colonne et
pareil pour la seconde liste, qui d=E9pend de la premiere , sur la
colonne d'apres dans toutes les cellules.

exemple :

Colonne B Colonne C

Materiel processeur
Logiciel Excel
Logicle Word
Materiel carte mere
.=2E.. ...

A chaque fois la liste dans une cellule de la colonne C depend de la
liste dans la cellule =E0 gauche sur la colonne B


Je sais qu'on peut faire sa avec du VBA dans une macro mais je ne veu
surtout pas pleins de lignes de code avec du IF et THEN !!

Autrement j'ai vu qu'on peut utiliser la fonction INDIRECT mais ca me
convient pas car il faut que je change l'adresse de la cellule de
gauche =E0 chaque fois .=20

Merci de votre aide

Fred

10 réponses

1 2
Avatar
Daniel
Bonjour.
En colonne A le type (matériel ou logiciel). En colonne B la liste des
matériels et en colonne C celle des logiciels :

Private Sub UserForm_Initialize()
Me.ListBox1.RowSource = "A1:A2"
End Sub

Private Sub ListBox1_Change()
If ListBox1.Value = "Matériel" Then
ListBox2.RowSource = "B1:B3"
Else
ListBox2.RowSource = "C1:C3"
End If
End Sub

Cordialement.
Daniel
a écrit dans le message de news:

Bonjour ,

J'aurais besoin de votre aide pour creer deux listes de choix
dépendantes .

Voici le probleme :
J'aurais voulu creer 2 listes de choix liées

Par exemple
1 ere liste LOGICIEL ET MATERIEL

et 2 eme liste associé à la premiere

si je choisi logiciel -->
seconde liste : Word , Excel , firefox

si je choisi materiel : processeur , carte mere...

Je voudrais la meme liste sur toute les cellules d'une colonne et
pareil pour la seconde liste, qui dépend de la premiere , sur la
colonne d'apres dans toutes les cellules.

exemple :

Colonne B Colonne C

Materiel processeur
Logiciel Excel
Logicle Word
Materiel carte mere
.... ...

A chaque fois la liste dans une cellule de la colonne C depend de la
liste dans la cellule à gauche sur la colonne B


Je sais qu'on peut faire sa avec du VBA dans une macro mais je ne veu
surtout pas pleins de lignes de code avec du IF et THEN !!

Autrement j'ai vu qu'on peut utiliser la fonction INDIRECT mais ca me
convient pas car il faut que je change l'adresse de la cellule de
gauche à chaque fois .

Merci de votre aide

Fred
Avatar
condaminfred
Merci

Mais comment je procede pour creer mes list box et les associées aux
macros ?
Avatar
JLuc
*Bonjour *,
Si je comprends ce que tu veux, c'est avoir des listebox directement
sur la feuille ?
La solution de Daniel c'est en passant par un userform (ce qui est, je
pense, plus confortable d'utilisation!
Dis nous :'-)
Bonjour ,

J'aurais besoin de votre aide pour creer deux listes de choix
dépendantes .

Voici le probleme :
J'aurais voulu creer 2 listes de choix liées

Par exemple
1 ere liste LOGICIEL ET MATERIEL

et 2 eme liste associé à la premiere

si je choisi logiciel -->
seconde liste : Word , Excel , firefox

si je choisi materiel : processeur , carte mere...

Je voudrais la meme liste sur toute les cellules d'une colonne et
pareil pour la seconde liste, qui dépend de la premiere , sur la
colonne d'apres dans toutes les cellules.

exemple :

Colonne B Colonne C

Materiel processeur
Logiciel Excel
Logicle Word
Materiel carte mere
.... ...

A chaque fois la liste dans une cellule de la colonne C depend de la
liste dans la cellule à gauche sur la colonne B


Je sais qu'on peut faire sa avec du VBA dans une macro mais je ne veu
surtout pas pleins de lignes de code avec du IF et THEN !!

Autrement j'ai vu qu'on peut utiliser la fonction INDIRECT mais ca me
convient pas car il faut que je change l'adresse de la cellule de
gauche à chaque fois .

Merci de votre aide

Fred



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Daniel
Comme le dit JLuc, dans le cas d'un userform, regarde le classeur à
l'adresse :
http://cjoint.com/?bDrjmULp8T
Cordialement.
Daniel
a écrit dans le message de news:

Merci

Mais comment je procede pour creer mes list box et les associées aux
macros ?
Avatar
condaminfred
Oui je veux avoir mes listes sur la feuille , la meme liste sur toutes
les cellules d'une colonne qui corespond à la liste qui contient
materiel ou logiciel . Et sur la deuxieme colonne la liste qui dépend
du choix de la premiere. (Celle de gauche )

Je vois pas comment on peut faire avec les userforms

merci
Avatar
JB
Bonjour,

Je ne sais pas si c'est ce genre de chose que tu cherche?
Listes en cascade avec la fonction Indirect()

http://cjoint.com/?bDrD21wlFW


Cordialement JB
Avatar
Daniel
Alors regarde le classeur à l'adresse :
http://cjoint.com/?bDrHw6qHzg
Cordialement.
Daniel
a écrit dans le message de news:

Oui je veux avoir mes listes sur la feuille , la meme liste sur toutes
les cellules d'une colonne qui corespond à la liste qui contient
materiel ou logiciel . Et sur la deuxieme colonne la liste qui dépend
du choix de la premiere. (Celle de gauche )

Je vois pas comment on peut faire avec les userforms

merci
Avatar
condaminfred
Non c'est pas cela que je veux , mes listes de choix doivent etre
intégrées dans les cellules . Je ne veux donc pas des userforms

Je pense que je devrai faire comme ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
[B2] = Range("Types" & [A2]).Item(1)
End If
End Sub

Mais Le probleme si je suis cet exemple , c'est que j'aurais beaucoup
de IF et de THEN
A chaque fois , je devrais faire un IF pour une cellule.

A la place de "$A$2" il me faudrait l'adresse de la cellule active

et à la place de B2 , l'adresse qui correspond à la cellule à droite
de la cellule active.
Avatar
AV
Regarde là, des fois que.....

http://www.excelabo.net/moteurs/compteclic.php?nom=av-listevalidmultiples

AV
Avatar
condaminfred
Oui merci je connais cette exemple mais toujours le meme probleme

Je ne veux pas faire pleins de IF et THEN

Si je suis l'autre exemple , je suis obligé de modifier à chaque fois
la fonction INDIRECT avec l'adresse de la cellule de la premiere liste
.
1 2