Posez votre question Signaler

Listes en cascade

Dolichotis 44Messages postés 30 avril 2008Date d'inscription - Dernière réponse le 4 juil. 2008 à 14:36
Bonjour,
Je voudrais faire des listes en cascade sur Excel 2003 (en vba) : c'est-à dire que si le choix de Liste1 est Elément7 alors j'aurai une liste spécialement pour cet élément.
Enfin, plus exactement j'ai trouvé des exemples mais je voudrais comprendre comment ça marche (voilà pourquoi je suis ici ;) ) pour l'adapter à mon problème.
Exemple :
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Range("B2:B7"), Target) Is Nothing And Target.Count = 1 Then
      Target.Offset(0, 1) = Range(Target)(1)
   End If
End Sub

Je sais qu'on me dira de regarder dans l'aide en ligne d'Excel mais je ne l'ai pas ! Est-ce qu'on pourrait m'expliquer à quoi correspond Intersect, . count, etc (dans le contexte) ?
Je vous remercie de votre aide,
Lire la suite 

Listes en cascade »

8 réponses
Réponse
+0
moins plus
Bonjour,

Je ne vois pas de listes en cascades dans ton exemple.
Il s'agit juste d'une macro événementielle qui fonctionne lorsqu'on modifie une cellule comprise dans la plage B2:B7

m@rina
Dolichotis - 3 juil. 2008 à 17:20
Bonjour Marina,

Et que fait cette macro exactement ?
Je l'ai trouvé sur un site pour faire des listes en cascade mais il me manque l'explication pour l'adapter à mon problème.

L'idée c'est selon la valeur (texte) d'une cellule située dans une plage de cellules (exemple : C10:C1000), qu'on me propose dans une cellule correspondante (exemple : E10:E1000) une liste spécifique.
Si tu as une méthode à m'expliquer, je suis preneuse !

Exemple :
j'ai "pomme" en C15 on me propose "verte, jaune, rouge" en E15
j'ai "voiture" en C16 on me propose "renoir,cageot, citron" en E16

Merci !
Ajouter un commentaire
Réponse
+0
moins plus

Je suppose que tu parles du classeur de Jacques Boisgontier...
Est ce que tu as fait exactement ce qu'il dit ? As-tu créé toutes tes listes ? Les as-tu nommées ?

m@rina
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour Marina,

Oui c'est de ceux de JacquesBoisgontier dont je parle. J'ai nommé mes listes.
La macro ne fait pas les listes en cascade ?
En fait, il indique des instructions excel et les instructions vba concernent uniquement la macro... sans commentaires ! J'aimerais bien comprendre à quoi correspond chaque instruction !

Encore merci pour ton aide Marina !
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Je pense que tu n'as pas tout lu ! Tout est expliqué... Les classeurs de Jacques sont toujours extrêmement clairs !
Je suppose que tu parles du premier onglet qui expliquer comment faire des listes en cascades : en fonction de la donnée choisie dans une cellule, la cellule d'à côté propose une liste qui en découle ?

Les listes sont faites via la fonction de validation. Je copie-colle :
==============
Listes en cascade avec noms de champ et Indirect()
La liste des qualifications en C2 dépend du service choisi en B2

1 - Nommer Service le champ E2:E4 (Sélection E2:E4 puis Insertion/Nom/Définir)

2 - Nommer Etudes le champ G2:G5 (doit avoir le nom du contenu de E2)
3 - Nommer Compta le champ G8:G10 (doit avoir le nom du contenu de E3)
4 - Nommer Fabric le champ G13:G15 (doit avoir le nom du contenu de E4)

5 - Sélectionner B2:B7
6 - Données/Validation :
Choisir Liste puis =service dans Source

7 - Sélectionner C2:C7
8- Données/Validation
Choisir Liste puis =indirect(b2)
Indirect(B2) Pointe sur le champ nommé (Etudes,Compta,Fabric)

-Les listes nommées peuvent être sur un autre onglet
==============

On ne peut pas être plus c:lair ! Les macros, quant à elles, sont à peine utiles ! elles sont là pour un résultat plus pro, à savoir lorsqu'on modifie la données dans la première colonne, on a un sendkey down qui ouvre directement la liste et la seconde cellule affiche directement le choix. C'est tout !
Le mieux, pour copier-coller les 2 macros : clic droit sur l'onglet, Visualiser le code... Tu colles de la même façon dans ton classeur en modifiant les références des plages.

m@rina
Dolichotis - 4 juil. 2008 à 11:18
Je vais regarder de nouveau. Je pensais qu'il donnait une façon en passant par excel et une autre par une macro...

Merci Marina !
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour Dolichotis, M@rina

Pour le fun, ci joint une liste de validation dynamique très astucieuse VBA (une seule validation de données et utilisation d'une variable de type static !) réalisée par Thierry P. (pseudo: Ti) et André sur un autre forum

Pour apprendre et comprendre, je l'avais commentée pour moi (il y a certainement des trucs que j'avais mal pigé, comme d'hab)

donc, Doilchotios, si ca t'intéresse...

http://cjoint.com/?hel7OEfsJH

Il ya aussi une liste de validation très intéressante réalisée par notre ami Gbinforme à voir dans l'onglet "astuces-bueautique" de ce forum.

Michel
Dolichotis - 4 juil. 2008 à 14:36
Bonjour michel,

Ça a l'air d'être exactement comme je veux faire, je vais regarder plus précisément ! C'est bien les commentaires pour comprendre !

Je te remercie !
Ajouter un commentaire
Ce document intitulé « Listes en cascade » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook