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
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
A voir également:
- Excel - Formule report et recherche d'infos
- Formule excel si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule excel - Guide
3 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
1 oct. 2011 à 12:06
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
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
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
1 oct. 2011 à 19:40
Merci beaucoup, c'est top.
Par contre, je ne comprends pas comment la colonne CODE fonctionne, arfff.
Cdt,
Par contre, je ne comprends pas comment la colonne CODE fonctionne, arfff.
Cdt,
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
Modifié par Vaucluse le 2/10/2011 à 08:03
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?
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?