Helo fonction RECHERCHE V
Résolu/Fermé
aramis74
Messages postés
211
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2017
-
22 déc. 2014 à 15:23
aramis74 Messages postés 211 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 20 novembre 2017 - 8 janv. 2015 à 13:24
aramis74 Messages postés 211 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 20 novembre 2017 - 8 janv. 2015 à 13:24
A voir également:
- Helo fonction RECHERCHE V
- Fonction si et - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Hyper v download - Télécharger - Divers Utilitaires
- Fonction moyenne excel - Guide
- Recherche adresse - Guide
6 réponses
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
22 déc. 2014 à 15:40
22 déc. 2014 à 15:40
Bonjour
Pas évident de faire de recherchev multi-onglets et encore moins de faire la somme en même temps (ou alors par macro VBA)
sinon essaie plutôt une formule en sommant differents SOMME.SI sur chaque onglet
=SOMME.SI(BARBANCON!C:C;A56;BARBANCON!D:D)+SOMME.SI(CHABERT!C:C;A56;CHABERT!D:D) +.....+SOMME.SI(VERNET!C:C;A56;VERNET!D:D)
En supposant les fonctions en colonne C de chaque onglet et les salaires en colonne D
Cdlmnt
Pas évident de faire de recherchev multi-onglets et encore moins de faire la somme en même temps (ou alors par macro VBA)
sinon essaie plutôt une formule en sommant differents SOMME.SI sur chaque onglet
=SOMME.SI(BARBANCON!C:C;A56;BARBANCON!D:D)+SOMME.SI(CHABERT!C:C;A56;CHABERT!D:D) +.....+SOMME.SI(VERNET!C:C;A56;VERNET!D:D)
En supposant les fonctions en colonne C de chaque onglet et les salaires en colonne D
Cdlmnt
aramis74
Messages postés
211
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2017
26
22 déc. 2014 à 16:43
22 déc. 2014 à 16:43
merci pour ton retour via 55 mais je veux faire cette recherche sur un autre onglet.
en choisissant la fonction AM1 (par exemple) qui est dans la cellule B3 de chaque onglet, excel doit me renvoyer tous les salariés ayant AM1 dans la cellule B3 et le salaire qui va avec.
je ne sais pas si je détaille assez mon problème.
ton avis via55 ?
en choisissant la fonction AM1 (par exemple) qui est dans la cellule B3 de chaque onglet, excel doit me renvoyer tous les salariés ayant AM1 dans la cellule B3 et le salaire qui va avec.
je ne sais pas si je détaille assez mon problème.
ton avis via55 ?
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
22 déc. 2014 à 17:12
22 déc. 2014 à 17:12
Re
C'est bien ce que je te propose dans ma formule, d'aller dans chaque onglet (donc 10 SOMME.SI) récupérer les salaires sue la même ligne que la fonction choisie (ce que semblait suggérer ton idée de départ avec RECHERCHEV) et de les additionner
Par contre si dans tous les onglets il n'y a qu'une cellule avec la fonction (B3) et qu'une cellule avec le salaire (supposons D5) la formule dans le 11eme onglet pourrait être
=SI('BARBANCON'!B3="A56;'BARBANCON'!D5;0)+ SI(...... + SI('VERNET'!B3="A56;'VERNET'!D5;0)
ou bien je n'ai pas compris ce que tu veux; dans ce cas poster un exemple anonymé (avec noms et chiffres bidons) sur cjoint.com et reviens indiquer le lien fourni
Cdlmnt
C'est bien ce que je te propose dans ma formule, d'aller dans chaque onglet (donc 10 SOMME.SI) récupérer les salaires sue la même ligne que la fonction choisie (ce que semblait suggérer ton idée de départ avec RECHERCHEV) et de les additionner
Par contre si dans tous les onglets il n'y a qu'une cellule avec la fonction (B3) et qu'une cellule avec le salaire (supposons D5) la formule dans le 11eme onglet pourrait être
=SI('BARBANCON'!B3="A56;'BARBANCON'!D5;0)+ SI(...... + SI('VERNET'!B3="A56;'VERNET'!D5;0)
ou bien je n'ai pas compris ce que tu veux; dans ce cas poster un exemple anonymé (avec noms et chiffres bidons) sur cjoint.com et reviens indiquer le lien fourni
Cdlmnt
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
Modifié par JvDo le 22/12/2014 à 18:02
Modifié par JvDo le 22/12/2014 à 18:02
Bonjour à tous,
tu peux utiliser les fonctions 3D de Morefunc (Laurent Longre) :
Sinon, méthode Jboisgontier :
cordialement
tu peux utiliser les fonctions 3D de Morefunc (Laurent Longre) :
=SOMMEPROD((TAB3D(Feuil1:Feuil11!B3)=A2)*TAB3D(Feuil1:Feuil11!D3))en supposant que la fonction cherchée ("AM1") est dans la cellule A2.
Sinon, méthode Jboisgontier :
=SOMMEPROD(SOMME.SI(INDIRECT("'"&nf&"'!b3");$A$2;INDIRECT("'"&nf&"'!d3")))avec nf, nom défini par
=STXT(LIRE.CLASSEUR(1);TROUVE("]";LIRE.CLASSEUR(1))+1;99)&INDIRECT("iv65000")
cordialement
aramis74
Messages postés
211
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2017
26
23 déc. 2014 à 11:48
23 déc. 2014 à 11:48
merci a toi via 55, ta solution marche, un peu longue mais ça marche, par contre si je dois rajouter des onglets je dois modifier la formule.
avec RECHERCHE V et INDIRECT cela ne marcherai pas.
voici le lien https://www.cjoint.com/?3Lxl20hmoXr
merci
avec RECHERCHE V et INDIRECT cela ne marcherai pas.
voici le lien https://www.cjoint.com/?3Lxl20hmoXr
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
23 déc. 2014 à 14:16
23 déc. 2014 à 14:16
Bonjour
As tu essayé les solutions proposées par JvDo (que je salue au passage) ?
Voici une autre solution avec un fonction personnalisée :
https://www.cjoint.com/?0LxoxzPEbql
Tu peux rajouter autant de feuilles que tu veux, la fonction personnalisée fait la somme conditionnelle de toutes les feuilles du classeur sauf la dernière (feuille synthese en dernier)
Tu peux mettre une formule utilisant cette fonction dans n'importe quelle cellule de la feuille synthèse, en indiquant dans la parenthèse l'adresse de la cellule de synthèse où trouver le nom de la fonction professionnelle
Par contre à l'ouverture de ton fichier j'ai le message d'alerte de références circulaires qui s'affiche, je ne sais pas quelles cellules sont concernées, question à régler ..
Cdlmnt
As tu essayé les solutions proposées par JvDo (que je salue au passage) ?
Voici une autre solution avec un fonction personnalisée :
https://www.cjoint.com/?0LxoxzPEbql
Tu peux rajouter autant de feuilles que tu veux, la fonction personnalisée fait la somme conditionnelle de toutes les feuilles du classeur sauf la dernière (feuille synthese en dernier)
Tu peux mettre une formule utilisant cette fonction dans n'importe quelle cellule de la feuille synthèse, en indiquant dans la parenthèse l'adresse de la cellule de synthèse où trouver le nom de la fonction professionnelle
Par contre à l'ouverture de ton fichier j'ai le message d'alerte de références circulaires qui s'affiche, je ne sais pas quelles cellules sont concernées, question à régler ..
Cdlmnt
aramis74
Messages postés
211
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2017
26
23 déc. 2014 à 14:59
23 déc. 2014 à 14:59
merci via 55 pour ton aide et le fichier personnalisé , par contre quand je fais ALT+F11 pour voir le code comment je le transpose sur un autre fichier excel peut tu m'expliquer en gros comment tu as fait car j'aime bien apprendre ce que je ne connais pas et le transposer plus tard a d'autres éventuels fichiers.
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
23 déc. 2014 à 15:58
23 déc. 2014 à 15:58
Re
Pour transposer :
Dans le 2nd fichier : ALT F11 pour ouvrir l'éditeur, Onglet Insertion et Module
Copier la macro du 1er fichier et la coller dans la page blanche et fermer éditeur
La nouvelle fonction est désormais accessible dans n'importe quelle feuille du classeur comme toute fonction excel, elle s'affiche dans la liste des fonctions quand tu tapes = SO..dans une cellule
Syntaxe : =somme_fonction(nom de la fonction à sommer ou adresse de la cellule de la fonction à sommer) ex: =somme_fonction("IDE") ou =somme_fonction(B55)
Explication de la macro :
Cdlmnt
Pour transposer :
Dans le 2nd fichier : ALT F11 pour ouvrir l'éditeur, Onglet Insertion et Module
Copier la macro du 1er fichier et la coller dans la page blanche et fermer éditeur
La nouvelle fonction est désormais accessible dans n'importe quelle feuille du classeur comme toute fonction excel, elle s'affiche dans la liste des fonctions quand tu tapes = SO..dans une cellule
Syntaxe : =somme_fonction(nom de la fonction à sommer ou adresse de la cellule de la fonction à sommer) ex: =somme_fonction("IDE") ou =somme_fonction(B55)
Explication de la macro :
Function somme_fonction(fonct As String) Total = 0 ' boucle sur toutes les feuilles du classeur sauf la dernière For n = 1 To Sheets.Count - 1 'si la valeur en B3 de la feuille n correspond à celle choisie par la fonction (fonct) on ajoute à variable Total celle en D49 feuille n If Sheets(n).Range("B3") = fonct Then Total = Total + Sheets(n).Range("D49") Next 'la variable Total est renvoyée dans la Fonction (qui affiche ce résultat dans la cellule contenant la formule) somme_fonction = Total End Function
Cdlmnt
aramis74
Messages postés
211
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2017
26
>
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
24 déc. 2014 à 10:15
24 déc. 2014 à 10:15
merci via55 et jVDo cela marche, donc si veux la somme de toutes les sommes qui sont en D50 et autres je recopie la formule ci dessus et a la place de D49, je mets D50 ,....
Si tu me confirmes cela, c'est super et je vous souhaite de passer de bonnes fêtes et longue a ce forum.
Si tu me confirmes cela, c'est super et je vous souhaite de passer de bonnes fêtes et longue a ce forum.
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
>
aramis74
Messages postés
211
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2017
24 déc. 2014 à 12:06
24 déc. 2014 à 12:06
Bonjour aramis
Oui tout à fait
Mais si tu veux pouvoir choisir dans ta feuille les cellules où trouver les données on peut modifier la macro ainsi :
La nouvelle syntaxe est alors =somme_fonction(nom fonction ou adresse cellule sans ""; adresse cellule fonction dans feuille entre ""; adresse cellule valeur à sommer dans feuille entre "")
ex : somme_fonction("IDE";"B3";"D59") ou somme_fonction(B55;"B3";"D59")
Bonnes fêtes à toi également
Cdlmnt
Oui tout à fait
Mais si tu veux pouvoir choisir dans ta feuille les cellules où trouver les données on peut modifier la macro ainsi :
Function somme_fonction(fonct As String, cellA As String, cellB As String) Total = 0 ' boucle sur toutes les feuilles du classeur sauf la dernière For n = 1 To Sheets.Count - 1 'si la valeur en B3 de la feuille n correspond à celle choisie par la fonction (fonct) on ajoute à variable Total celle en D49 feuille n If Sheets(n).Range(cellA) = fonct Then Total = Total + Sheets(n).Range(cellB) Next 'la variable Total est renvoyée dans la Fonction (qui affiche ce résultat dans la cellule contenant la formule) somme_fonction = Total End Function
La nouvelle syntaxe est alors =somme_fonction(nom fonction ou adresse cellule sans ""; adresse cellule fonction dans feuille entre ""; adresse cellule valeur à sommer dans feuille entre "")
ex : somme_fonction("IDE";"B3";"D59") ou somme_fonction(B55;"B3";"D59")
Bonnes fêtes à toi également
Cdlmnt
aramis74
Messages postés
211
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2017
26
>
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
6 janv. 2015 à 14:40
6 janv. 2015 à 14:40
bonjour a tous, tout d'abord tous mes voeux pour 2015 et santé avant tout pour tous vos proches.
via55, je te joins le fichier excel complet ci dessous :
https://www.cjoint.com/c/EAgoGwGnq1L
sur la fiche synthèse en cellule D49, la formule que tu m'as donnée marche très bien, j'ai bien la somme de toutes les cellules D49 de tous les onglets ayant la fonction ASD qui figure en B3 de chaque feuille.
Par contre, j'ai essayé ce que tu m'as dit ci dessus, en me mettant sur la cellule D50( je veux le total de toutes les cellules D50 de chaque onglet sauf la dernière bien sur, toujours avec la fonction toujours choisi en D55) avec cette fonction =SOMME_FONCTION(A55;"B3";"D50")
mais j'ai un retour #VALEUR
En gros ma feuilles SYNTHÈSE devra faire le total de toutes les cellules, ou il y a des montants (D49 à D52, ... I49 a I52,.... même a ZÉRO pour la fonction choisi en A55 ( ici c'est ASD).
je dois mal m'y prendre avec cette fonction
via55, je te joins le fichier excel complet ci dessous :
https://www.cjoint.com/c/EAgoGwGnq1L
sur la fiche synthèse en cellule D49, la formule que tu m'as donnée marche très bien, j'ai bien la somme de toutes les cellules D49 de tous les onglets ayant la fonction ASD qui figure en B3 de chaque feuille.
Par contre, j'ai essayé ce que tu m'as dit ci dessus, en me mettant sur la cellule D50( je veux le total de toutes les cellules D50 de chaque onglet sauf la dernière bien sur, toujours avec la fonction toujours choisi en D55) avec cette fonction =SOMME_FONCTION(A55;"B3";"D50")
mais j'ai un retour #VALEUR
En gros ma feuilles SYNTHÈSE devra faire le total de toutes les cellules, ou il y a des montants (D49 à D52, ... I49 a I52,.... même a ZÉRO pour la fonction choisi en A55 ( ici c'est ASD).
je dois mal m'y prendre avec cette fonction
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
>
aramis74
Messages postés
211
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
20 novembre 2017
Modifié par via55 le 6/01/2015 à 15:39
Modifié par via55 le 6/01/2015 à 15:39
Bonjour aramis
Merci pour tes voeux, reçois tous les miens pour cette nouvelle année
Ton fichier ne marche pas car :
- tu as laissé l'ancienne fonction dans les macros, il y en a donc 2 avec le même nom
- tu as mis la nouvelle dans le le worksheet de la Feuille Synthese et pas dans un module
Donc :
1) supprimer l'ancienne fonction dans Module 2 (ou si tu veux la garder lui donner un autre nom)
2) mettre la nouvelle fonction dans le module 2 à la place de l'ancienne (ou en dessous)
après en entrant =somme_fonction(A55;"B3";"D51") en D49 de Synthese ça doit marcher
Cdlmnt
Merci pour tes voeux, reçois tous les miens pour cette nouvelle année
Ton fichier ne marche pas car :
- tu as laissé l'ancienne fonction dans les macros, il y en a donc 2 avec le même nom
- tu as mis la nouvelle dans le le worksheet de la Feuille Synthese et pas dans un module
Donc :
1) supprimer l'ancienne fonction dans Module 2 (ou si tu veux la garder lui donner un autre nom)
2) mettre la nouvelle fonction dans le module 2 à la place de l'ancienne (ou en dessous)
après en entrant =somme_fonction(A55;"B3";"D51") en D49 de Synthese ça doit marcher
Cdlmnt