Liste de choix complexe sous excel

Résolu/Fermé
catinthehat - 17 nov. 2008 à 16:18
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 22 nov. 2008 à 13:09
Bonjour,

Je cherche à automatiser le remplissage de certaines cellules d'une feuille d'un classeur sous excel en faisant référence à un tableau déjà existant dans un autre classeur. Je m'explique : Je m'occupe d'une association de randonneurs. J'utilise un classeur excel "Adhérents" pour tenir à jour mon fichier adhérents. J'ai créé un tableau avec un certain nombre de colonnes dont 3 colonnes successives intitulées "Nom" , "Prénom" et "Téléphone". Chaque semaine les adhérents s'inscrivent à la randonnée du dimanche et j'utilise donc un second classeur "Participants" avec un tableau vide que je remplis au fur et à mesure des inscriptions. Ce tableau comporte également 3 colonnes successives intitulées "Nom" , "Prénom" et "Téléphone". J'aimerais faire en sorte que les cellules de la colonne "Nom" du classeur "Participants" me permettent de faire un choix parmi tous les noms compris dans la colonne "Nom" du classeur "Adhérents" soit sous forme de saisie semi-automatique (choix porposés au fur et à mesure de la frappe) soit sous forme d'une liste déroulante de choix. Mais je souhaite également imposer une seconde condition. Une fois le choix validé dans la cellule de la colonne "Nom", je souhaite que les cellules "Prénom" et "Téléphone" de la ligne sur laquelle je viens de faire un choix (dans la colonne "Nom") s'incrémentent automatiquement en remplissant lesdistes cellules avec le prénom et le téléphone correspondants (tels qu'ils apparaissent dans le classeur "Adhérents").
Merci d'avance pour votre aide.
A voir également:

5 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
17 nov. 2008 à 16:47
Bonjour
est ce quelque chose de ce type que vous cherchez
http://www.cijoint.fr/cjlink.php?file=cj200811/cijvNngxNj.xls
Revnir si besoin pour explication.
Crdlmnt
1
catinthehat
18 nov. 2008 à 00:05
Génial ! C'est exactement ce dont j'avais besoin. Merci mille fois pour la rapidité et la qualité de la réponse !
0
catinthehat
20 nov. 2008 à 20:09
Bonjour Vaucluse (et Raymond),

Je reviens vers votre science et votre diligence pour m'enquérir de nouvelles solutions à l'extension de mon problème. Le classeur que vous avez eu la gentillesse de mettre en forme pour répondre au problème que j'avais exposé réponds parfaitement aux données dudit problème. Je me rends compte maintenant que je butte sur de nouveaux problèmes...

Il serait en effet bon que la liste des adhérents (données de référence) qui se trouve sur la feuille 1 se remplisse automatiquement par égalité avec les colonnes auxquelles ses colonnes correspondent dans le fichier d'origine mais je me trouve confronté à deux problématiques :

Sachant que dans le fichier des adhérents auquel la liste de la feuille 1 se réfère, les données qui m'intéressent (B17:E200) se trouvent intégrées à un tableau avec :
1) L'intitulé des colonnes sur les lignes 1 et 2 (avec des cellules 1 et 2 tantôt fusionnées, tantôt pas) : colonne B = date d'adhésion, colonne C = nom, colonne D = prenom, colonne E = téléphone portable, colonne F = téléphone fixe, etc.
2) Le classement des lignes est chronologique et non alphabétique
3) pour les adhésions ayant eu lieu de le même jour, j'ai fusionné les cellules de la 1ère colonne pour ne faire apparaître qu'une seule cellule en face des lignes correspondant aux personnes ayant adhéré à cette date-là. Cela m'empêche donc d'appliquer un tri automatique pour réorganiser les lignes sur une base alphabétique (à partir de la colonne "noms" des adhérents).

Comment faire référence à une partie de la feuille du classeur adhérents (B17:E200) seulement et comment faire en sorte que les données ainsi copiées automatiquement se retrouvent triées par ordre alphabétique dans le fichier de destination alors qu'elles sont triées par ordre chronologique dans le fichier d'origine ?

J'espère avoir été suffisamment clair pour que votre sagacité s'exerce en exacte connaissance de cause...

Merci d'avance.
0
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
17 nov. 2008 à 20:57
Il n'y a guère d'autre solution que celle, parfaitement simple et explicite, de Vaucluse.
0
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
20 nov. 2008 à 22:38
Alors là, tu es passée à la vitesse supérieure, et tu veux jouer dans "la cour de grands" !
Ce type de problème nécessite de passer par des macro-commandes, à élaborer en langage VBA.
Alors dis-nous si tu y as déjà touché.
Me concernant, la réponse est non : Je n'y connais rien !
0
catinthehat
21 nov. 2008 à 16:02
Hélas ! Je n'y comprends pas grand chose. Je sais que les macros existent et je sais vaguement que le VBA est un code assez complexe mais je n'en sais pas plus. Au moins puis-je dire que j'ai fait quelques progrès par rapport aux douces heures antiques : tout ce que je sais c'est je ne sais pas grand chose (mais est-ce mieux que ne savoir rien ?).

Pour l'heure, je progresse petit pas après petit pas dans la compréhension et la connaissance des possiblités d'excel. Et je suis peut-être un peu trop audacieux à m'approcher de la "cour des grands" ! En tout cas, merci pour vos contributions.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
21 nov. 2008 à 16:41
Bonsoir
une solution un peu complexe,vraiment pour la gloire sachant que les cellules fusionnées sont un peu (beaucoup)une bête noire dans Excel , et je n'en ai pas d'autre:Il faut créer une feuille de transfert
Soir pour l'exemple, à adapter à votre tableau
Votre tableau initial avec cellules fusionnées en Feuil1
Feuil2 est la feuille de transfert
Feuil3 est la feuille où vous voulez les données par ordre alphabétique
A partir de ligne 2 en colonne A spour chacune des trois feuilles:

Feuil1: vos entrées initiales, avec cellules fusionnées

Sur Feuil2, feuille de transfert:
_en A2 la formule:
=Feuil1!A2
_En A3 la formule à tirer sur la hauteur du champ:
=SI(Feuil1!A3=0;A2;Feuil1!A3)
Ainsi la date des cellules fusionnées sera reportée sur chaque ligne
_Toujours sur cette feuille, ,le plus simple: terminez de remplir le tableau par égalité à partir de la colonne B avec la feuil1
(en B2=Feuil1!A2, en C2=Feuil1!C2 etcv..............)

Ensuite copier la totalité de Feuil2

Allez en Feuil3 (la feuille de résultat) et faites un copiage spécial / Valeur de cette copie
Cette feuille 3 n'ayant ni formule,ni cellule fusionnée vous pouvez la trier comme vous voulez
Cette copie est à refaire à chaque modification de feuil1! Ca peut se faire par Macro, mais le jeu en vaut il réellement la chandelle vu la, lourdeur que ça implique. Il semble plus simple et logique de laisser une ligne par date quitte à la répéter plusieurs fois.
Pour l'aspect d'un tel tableau, s'il s'agit uniquement de présentation , on peut traiter simplement par mise en forme conditionnelle pour ne voir qu'une seule date là où il y en a plusieurs identiques l'une derrière l'autre.

Dans l'attente de vos options, par curiosité!
Crdlmnt
0
catinthehat
22 nov. 2008 à 12:55
Bonjour Vaucluse,

Merci pour la réponse rapide. Cela m'a l'air relativement complexe ! Je vais essayer tout cela tranquillement et vous tiens au courant.

Cordialement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
22 nov. 2008 à 13:09
Rien
on, rien de compliqué, il suffit de passer le cap de la formule en feuille 2 et de savoir ce qu'est un copier coller valeur. A votre service sur ces sujets.
Crdlmnt
0