Excel - Formule report et recherche d'infos

Fermé
SoLio3 Messages postés 3 Date d'inscription vendredi 30 septembre 2011 Statut Membre Dernière intervention 1 octobre 2011 - Modifié par SoLio3 le 1/10/2011 à 11:20
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 2 oct. 2011 à 07:51
Bonjour,

Je travaille actuellement sur un tableau du type :
NOM / Formation 1 / Formation 2 / etc
Dans les colonnes Formation devant les Noms je note les dates de validation de chacune des formations.

Je souhaite reporter les noms des gens qui ont suivi les formations en créant une page spécifique à chaque formation en fonction de si une date est indiquée.

Comment faire ?

Merci beaucoup de votre aide par avance!!!
A voir également:

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 404
1 oct. 2011 à 12:06
Bonjour
une solution ici:
http://www.cijoint.fr/cjlink.php?file=cj201110/cijr2pAfXO.xls
revenez ci besoin d'info complémentaire
mais pas avant ce soir!!!
crdmnt
0
SoLio3 Messages postés 3 Date d'inscription vendredi 30 septembre 2011 Statut Membre Dernière intervention 1 octobre 2011
1 oct. 2011 à 19:40
Merci beaucoup, c'est top.

Par contre, je ne comprends pas comment la colonne CODE fonctionne, arfff.

Cdt,
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 404
Modifié par Vaucluse le 2/10/2011 à 08:03
Bonjour

la colonne CODE:
=SI(INDIRECT(ADRESSE(LIGNE()+3;EQUIV($B$1;LISTE!$A$5:$Z$5;0);1;;"LISTE"))>0;MAX($A$2:A2)+1;0)
INDIRECT()
transforme en adresse le texte compris entre les parenthèses
ADRESSE(n° de ligne; n° de colonne;type ref;;nom de feuille)
renvoi sous forme de texte l'adresse définie par

pour la ligne:
LIGNE()+3 soit le n° de la ligne où se trouve la formule majoré de 3 (donc 6 ligne sur la ligne 3 etc...)

pour la colonne:
EQUIV(Valeur; champ; code)
renvoi le rang de la valeur cherchée (ici B1, le nom de la formation) dans le champ de la feuille LISTE de A5 à Z5
donc défini la colonne à utiliser

LISTE complète le code ADRESSE en donnant le nom de la feuille ou s'applique la formule.

>0 détecte donc dans la cellule de LISTE ainsi définie, s'il y a une date ou non

MAX($A$2;A2)+1
noter que le 1° A2 est bloqué et pas le second. Le champ donc "s'allonge" en incrémentant et s'arrête au dessus de la ligne traitée
chaque fois que le code précédent trouve une valeur >0; la formule rajoute 1 au maximum situé au dessus.

On obtient ainsi une numérotation selon les cellules de LISTE qui comportent une date.
Cette numérotation est ensuite utilisée pour reconstruire le tableau selon les formations

quelques conseils si je peux me permettre:
1°)
pour mieux comprendre les formules, vous pouvez les "décomposer" dans des cellules hors champ et voir le résultat:
par exemple:
= ADRESSE(LIGNE()+3;EQUIV($B$1;LISTE!$A$5:$Z$5;0);1;;"LISTE"))
ou encore
=EQUIV($B$1;LISTE!$A$5:$Z$5;0)
2°)
pour l'implantation de ce type de code, vous pouvez utiliser l'aide excel en implantant la formule:
sélectionner la cellule barre d'outil/ Insertion / fonction
ou selon la date de votre excel: ruban / formule/bibliothèque de fonctions.

bonne chance

crdlmnt

Ps: je viens de voir qu'il y a dans la feuille LISTE du modèle transmis un code VBA qui est resté à la traîne d'un autre modèle et qu'il vaut mieux supprimer pour éviter les ennuis:
clic droit sur le nom d'onglet LISTE
visualiser le code
supprimer le texte affiché qui n'a rien à voir dans la proposition



Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0