Rechercher : dans
Par :

Listes en cascade

Dernière réponse le 4 jui 2008 à 14:36:39 Dolichotis, le 3 jui 2008 à 16:42:38 
 Signaler ce message aux modérateurs

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,
Configuration: Windows 2000
Firefox 2.0.0.14

Meilleures réponses pour « Listes en cascade » dans :
[Windows] Obtenir la liste des fichiers d'un dossier VoirLister le contenu d'un dossier Voici une astuce simple qui permet de lister le nom des fichiers contenus dans un répertoire. Vous pourrez obtenir en un clic les titres de vos chansons, de vos photos, etc. dans un fichier...
[MS-Dos] Lister le contenu d'un répertoire dans un fichier VoirIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...
Liste des ports ouverts VoirQue vous soyez sous Windows ou Linux/Unix, la commande suivante (en console) permet d'afficher la liste des ports ouverts sur votre ordinateur :netstat -a Pour des outils graphiques plus poussés, voir Quels sont les ports ouverts sur ma machine
Télécharger Ma Liste d'Achats VoirFaire les courses est une tâche bien compliquée pour les non initiés. Ma liste d'achats est comme son nom l'indique, un programme qui vous aidera à concevoir votre liste d'achat. Il fonctionne un comme une pense bête, mais en plus élaborée. Il...
Listes et énumérations en HTML VoirLes listes Une liste est un paragraphe structuré contenant une suite d'articles. Le langage HTML définit trois types de listes : La liste ordonnée ; La liste non ordonnée ; La liste de définition. Liste ordonnée Conteneur Type de...
Listes de diffusion (mailing lists) VoirNotion de liste de diffusion Une liste de diffusion (en anglais mailing-list) est un des services les plus couramment utilisés sur internet, permettant à un expéditeur d'envoyer un message à un ou plusieurs destinataires. Le courrier électronique a...
Liste personnalisée VoirVous pouvez soit créer une liste à partir d’éléments déjà présents dans une feuille de calcul, soit la créer intégralement. Si vous avez déjà saisi la liste des éléments constituant la série, sélectionnez-la dans la feuille de calcul. Dans le menu...

1

m@rina, le 3 jui 2008 à 17:00:19

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

Répondre à m@rina

2

Dolichotis, le 3 jui 2008 à 17:20:04

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 !

Répondre à Dolichotis

3

m@rina, le 3 jui 2008 à 17:46:57


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

Répondre à m@rina

4

Dolichotis, le 4 jui 2008 à 10:09:32

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 !

Répondre à Dolichotis

5

m@rina, le 4 jui 2008 à 10:56:32

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

Répondre à m@rina

6

Dolichotis, le 4 jui 2008 à 11:18:07

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 !

Répondre à Dolichotis

7

michel_m, le 4 jui 2008 à 12:09:33

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

Répondre à michel_m

8

 Dolichotis, le 4 jui 2008 à 14:36:39

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 !

Répondre à Dolichotis