Je reviens vers vous car je sèche et je n'arrive pas à trouver une solution dans toutes les discussions que j'ai pu lire.
Je recherche une fonction (j'aimerai éviter le VBA) pour faire une recherche de date sur une ligne.
En gros j'ai une ligne (A1) qui contient des dates, mais pas que, et j'aimerai que dans un autre onglet sa puisse me lister toutes les dates présente dans cette ligne. Ensuite dans la colonne d'après j'aimerai avoir une recherche des valeurs présentes sur la ligne 27.
Voila je suis bloquer.
Merci d'avance à ceux qui pourrons m'aider dans cette problématique.
Donc vous n'avez pas compris les formules précédentes.
1- Il fallait que les intitulés soient différents Date1,date2,date3 ...
2- Il fallait un Date x sur le bloc suivant le dernier bloc utilisé.
Come ce n'est pas le cas dans votre PJ, j'ai changé de formule avec :
La limite est qu'un bloc fasse moins de 16 colonnes ( <=15 ) car il faut bien limiter la zone de recherche dans le bloc considéré. ( en considérant que les 3 premières colonnes d'un bloc soient des dates, donc n'est rien en ligne 27 )
J'ai laissé l'autre formule en exemple mais cela suppose que les intitulés soient différents.
Bonjour M@xu3L,
Dans votre PJ il y a des "blocs" qui font 14 colonnes pour une date, d'autres qui font 15 colonnes.
J'ai tout homogénéiser à 15 colonnes, ce qui simplifie grandement les formules.
On obtient la synthèse avec :
Bonjour M@xu3L,
Dans votre PJ il y a des "blocs" qui font 14 colonnes pour une date, d'autres qui font 15 colonnes.
J'ai tout homogénéiser à 15 colonnes, ce qui simplifie grandement les formules.
On obtient la synthèse avec :
Merci Sylvanu de ta réponse aussi rapide le souci est que justement je travail sur un fichier qui est déjà rempli avec ces problème de "blocs" comme tu dit... Dans le fichier original les "Blocs" on les cellules fusionné avec la date inscrite dedans mais d'autres chose comme par exemple " charge du 14/11/2023" et qui change entre chaque "blocs". Je ne vais pas pouvoir retravailler tous le tableau car ici ce n'est qu'un exemple mais j'ai un nombre de colonne impressionnant lol ^^. Si tu as une idée je suis preneur sinon je pense reconstruire un tableau afin de repartir sur de bonne base avec ta petite formule.
Je suis désolé mais je ne comprend pas cela ne fonctionne pas pour la date sur mon tableau...sa ne me met rien du tout. j'ai pas une erreur rien mais une case vide... je comprend pas ^^
C'est le même que je vous ai transmit mais avec mes informations dedans.
Et lorsque je créer un onglet synthèse avec votre formule pour la date sa ne fonctionne pas je ne sais pas pk... Bien sur le nom de l'onglet est différent que test et je l'ai changé...
Avec ma formule mise à jour ?
Pas avec la formule in extenso qui contient test ?
Votre formule contient bien la feuille d'origine ? Elle fait bien référence aux lignes 1 et 27 ?
oui oui en gros je vous ai transmit la feuille vierge avec juste les dates dessus mais sinon la feuille est bien la même et je ne comprend pas pk sa ne fonctionne pas d'autant plus que sur votre fichier que vous m'avez envoyer sa fonctionne mais lorsque je copie votre formule sa ne fonctionne pas...
Je te joint ton fichier avec mes chiffres car la fonctionne mais du coup je suis désolé je n'avais pas vu qu'il y a une somme de faite dans ta formule et j'ai d'autres chiffres qui viennent dans cette ligne et donc sa ne me recherche pas seulement la valeur mais sa me calcul la somme de toutes les valeurs présente...
Si votre PJ n'est pas représentative, il est difficile de l'imaginer. Dans votre PJ en ligne 27 il n'y avait qu'un nombre par bloc en ligne 27. D'où ma solution avec une somme.
En Pj une autre approche, on recherche Date x puis on prend la valeur en ligne 27 de la colonne précédente.
Mais cela suppose que pour le dernier bloc il y ait une Date x dans le bloc suivant.
Par ex dans votre PJ cela s'arrête à la "Date 6", il doit y avoir "Date 7" dans le bloc suivant pour faire le calcul de la dernière valeur, avec :
Si votre PJ n'est pas représentative, il est difficile de l'imaginer. Dans votre PJ en ligne 27 il n'y avait qu'un nombre par bloc en ligne 27. D'où ma solution avec une somme.
En Pj une autre approche, on recherche Date x puis on prend la valeur en ligne 27 de la colonne précédente.
Mais cela suppose que pour le dernier bloc il y ait une Date x dans le bloc suivant.
Par ex dans votre PJ cela s'arrête à la "Date 6", il doit y avoir "Date 7" dans le bloc suivant pour faire le calcul de la dernière valeur, avec :
Oui je m'en excuse c'est une erreur de ma part je n'avait pas pensé à mettre toutes les données comme je vient de le faire. Donc ici le problème est la dernière donnée que je vais avoir besoin dans ce résumé il existe une solution?
Et je revient sur mon post précédent cela fonctionne mais du coup il faut que je parte de la cellule A1 et sa vous ne me laviez pas dit lol moi je partais de la cellule A2... une solution ou je peu partir de la cellule A2??
De quelle cellule A2 vous parlez ? Dans la feuille Synthèse ?
Si vous partez de A2 les formules sont bonnes.
Si vous partez de A1 il faut recalculer correctement le N° de ligne avec :
VB:
au lieu de :
=SIERREUR(PETITE.VALEUR(test!$1:$1;LIGNE()-1);"")
mettre
=SIERREUR(PETITE.VALEUR(test!$1:$1;LIGNE());"")
au lieu de
=SIERREUR(INDEX(test!$27:$27;EQUIV("Date "&LIGNE();test!$1:$1;0)-1);"")
mettre
=SIERREUR(INDEX(test!$27:$27;EQUIV("Date "&LIGNE()+1;test!$1:$1;0)-1);"")
De quelle cellule A2 vous parlez ? Dans la feuille Synthèse ?
Si vous partez de A2 les formules sont bonnes.
Si vous partez de A1 il faut recalculer correctement le N° de ligne avec :
VB:
au lieu de :
=SIERREUR(PETITE.VALEUR(test!$1:$1;LIGNE()-1);"")
mettre
=SIERREUR(PETITE.VALEUR(test!$1:$1;LIGNE());"")
au lieu de
=SIERREUR(INDEX(test!$27:$27;EQUIV("Date "&LIGNE();test!$1:$1;0)-1);"")
mettre
=SIERREUR(INDEX(test!$27:$27;EQUIV("Date "&LIGNE()+1;test!$1:$1;0)-1);"")
oui dans la feuille synthèse j'aurai voulu que la date apparaissent en ligne 3 pas en ligne 2 comme pour vous. Par contre la ligne pour les valeur ne fonctionne pas et j'ai changer la ligne pour les date j'ai mit:
Pour "retomber sur ses pieds", il faut évaluer ce que vaut "ligne()" et ce que doit valoir la valeur désirée.
Ligne 3, Date : la première valeur à chercher est 1 et Ligne() vaut 3 donc Ligne()-2
Valeur : la première valeur à chercher est "Date 2" et Ligne() vaut 3 donc Ligne()-1
VB:
Date : =SIERREUR(PETITE.VALEUR(test!$1:$1;LIGNE()-2);"")
valeur : =SIERREUR(INDEX(test!$27:$27;EQUIV("Date "&LIGNE()-1;test!$1:$1;0)-1);"")
Pour "retomber sur ses pieds", il faut évaluer ce que vaut "ligne()" et ce que doit valoir la valeur désirée.
Ligne 3, Date : la première valeur à chercher est 1 et Ligne() vaut 3 donc Ligne()-2
Valeur : la première valeur à chercher est "Date 2" et Ligne() vaut 3 donc Ligne()-1
VB:
Date : =SIERREUR(PETITE.VALEUR(test!$1:$1;LIGNE()-2);"")
valeur : =SIERREUR(INDEX(test!$27:$27;EQUIV("Date "&LIGNE()-1;test!$1:$1;0)-1);"")
Alors je comprend parfaitement mais par contre je ne comprend pas pourquoi sa ne fonctionne pas sur mon fichier... sa fonctionne très bien sur ton fichier moi sa me met une case vide.
Ta formule doit bien s'écrire comme ceci ou il y a des chose a changer encore :