Recherche V avec toutes les valeurs correspondantes
Fermé
Carole-
Messages postés
14
Date d'inscription
jeudi 2 mars 2017
Statut
Membre
Dernière intervention
29 août 2017
-
22 mars 2017 à 09:52
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 29 mars 2017 à 21:26
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 29 mars 2017 à 21:26
A voir également:
- Recherche V avec toutes les valeurs correspondantes
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Hyper v download - Télécharger - Divers Utilitaires
- Recherche adresse - Guide
- Recherche avec photo - Guide
- Recherche musique - Guide
3 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
22 mars 2017 à 10:01
22 mars 2017 à 10:01
Bonjour,
La fonction RECHERCHEV ne délivre que la première valeur trouvée et il n'y a pas de fonctions qui peuvent satisfaire ton désir sauf si tu le codes en macro VBA
La fonction RECHERCHEV ne délivre que la première valeur trouvée et il n'y a pas de fonctions qui peuvent satisfaire ton désir sauf si tu le codes en macro VBA
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
22 mars 2017 à 14:49
22 mars 2017 à 14:49
Bonjour,
Voici le code de la macro pour ta fonction personnalisée que je t'ai mise à droite dans ton classeur : https://www.cjoint.com/c/GCwnV2XbEyl
Voici le code de la macro pour ta fonction personnalisée que je t'ai mise à droite dans ton classeur : https://www.cjoint.com/c/GCwnV2XbEyl
Public Function rech_tous(ref As String, plg As Range) Dim lgn As Range Dim idr As Long rech_tous = "" Application.Volatile For Each lgn In plg.Rows If Cells(lgn.Row, plg.Column) = ref Then rech_tous = rech_tous & IIf(rech_tous = "", "", " / ") & _ Cells(lgn.Row, plg.Column + 1) For idr = 2 To plg.Columns.Count - 1 rech_tous = rech_tous & ":" & Cells(lgn.Row, plg.Column + idr) Next idr End If Next lgn End Function
Carole-
Messages postés
14
Date d'inscription
jeudi 2 mars 2017
Statut
Membre
Dernière intervention
29 août 2017
22 mars 2017 à 16:28
22 mars 2017 à 16:28
Merci pour votre rapidité.
J'essaie de la coller sur mon fichier de travail mais la formule rech_tous ne va pas me chercher les données.
Je dois peut être changer un "code" en la copiant sur mon fichier ?
Pouvez vous m'expliquer en gros que signifient les différentes lignes de cette macro ?
Ci joint également un autre fichier (je n'ai pas précisé que je souhaitais avoir le total différencié sur plusieurs lignes => cela changera peut être le code de la macro .. ?)
http://www.cjoint.com/c/GCwpy2Y4sCm
Merci encore pour votre aide !
J'essaie de la coller sur mon fichier de travail mais la formule rech_tous ne va pas me chercher les données.
Je dois peut être changer un "code" en la copiant sur mon fichier ?
Pouvez vous m'expliquer en gros que signifient les différentes lignes de cette macro ?
Ci joint également un autre fichier (je n'ai pas précisé que je souhaitais avoir le total différencié sur plusieurs lignes => cela changera peut être le code de la macro .. ?)
http://www.cjoint.com/c/GCwpy2Y4sCm
Merci encore pour votre aide !
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
22 mars 2017 à 18:46
22 mars 2017 à 18:46
Bonsoir,
J'essaie de la coller sur mon fichier de travail
Ton classeur doit prendre le suffixe '.xlsm' car sinon les macros ne sont pas sauvegardées et la fonction doit être copiée dans un module standard.
Je dois peut être changer un "code" en la copiant sur mon fichier ? Non
sur plusieurs lignes => cela changera peut être le code de la macro .. ?
Bien évidemment; cela n'a strictement rien à voir : ce serait bien que tu définisse clairement ce que tu souhaites
1) tu souhaites regrouper tous les résultats dans la même cellule
2) tu veux tous les résultats mais sur plusieurs lignes
Une formule ne met le résultat que dans la cellule où elle est appelée.
Si tu veux des résultats sur plusieurs lignes, il faudra mettre la formule sur autant de lignes que de résultats, ce qui conduit pratiquement à connaitre d'avance le résultat.
Tu peux par contre avoir plusieurs lignes dans la même cellule, ce qui est plus normal comme fonctionnement.
Lorsque tu auras les idées claires nous pourrons avancer.
J'essaie de la coller sur mon fichier de travail
Ton classeur doit prendre le suffixe '.xlsm' car sinon les macros ne sont pas sauvegardées et la fonction doit être copiée dans un module standard.
Je dois peut être changer un "code" en la copiant sur mon fichier ? Non
sur plusieurs lignes => cela changera peut être le code de la macro .. ?
Bien évidemment; cela n'a strictement rien à voir : ce serait bien que tu définisse clairement ce que tu souhaites
1) tu souhaites regrouper tous les résultats dans la même cellule
2) tu veux tous les résultats mais sur plusieurs lignes
Une formule ne met le résultat que dans la cellule où elle est appelée.
Si tu veux des résultats sur plusieurs lignes, il faudra mettre la formule sur autant de lignes que de résultats, ce qui conduit pratiquement à connaitre d'avance le résultat.
Tu peux par contre avoir plusieurs lignes dans la même cellule, ce qui est plus normal comme fonctionnement.
Lorsque tu auras les idées claires nous pourrons avancer.
Carole-
Messages postés
14
Date d'inscription
jeudi 2 mars 2017
Statut
Membre
Dernière intervention
29 août 2017
24 mars 2017 à 15:38
24 mars 2017 à 15:38
Bonjour gbinforme,
- Mon classeur prend en charge les macro pas de soucis à ce niveau là
- Je souhaitais effectivement avoir tous les résultat mais sur plusieurs lignes (c'était une question de praticité pour l'opérateur qui liera son tableau)
Or, je ne savais pas que ce n'était pas faisable.
- Donc effectivement,suite à tes recommandations, j'opte pour la dernière solution qui est d'avoir plusieurs lignes dans la même cellule.
En espérant que c'est assez clair
- Mon classeur prend en charge les macro pas de soucis à ce niveau là
- Je souhaitais effectivement avoir tous les résultat mais sur plusieurs lignes (c'était une question de praticité pour l'opérateur qui liera son tableau)
Or, je ne savais pas que ce n'était pas faisable.
- Donc effectivement,suite à tes recommandations, j'opte pour la dernière solution qui est d'avoir plusieurs lignes dans la même cellule.
En espérant que c'est assez clair
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
24 mars 2017 à 22:10
24 mars 2017 à 22:10
Bonsoir Carole,
Voilà, je t'ai fait un mixe de tes exemples, dis-moi si c'est ce que tu attendais
https://www.cjoint.com/c/GCyvjfYpMVl
Voilà, je t'ai fait un mixe de tes exemples, dis-moi si c'est ce que tu attendais
https://www.cjoint.com/c/GCyvjfYpMVl
shadows31
Messages postés
2
Date d'inscription
vendredi 24 mars 2017
Statut
Membre
Dernière intervention
25 mars 2017
25 mars 2017 à 00:05
25 mars 2017 à 00:05
bonjour on peut en incrémentant plusieurs recherchev obtenir dans la même cellule le résultat de deux cellules différente dans des colonnes différente, en revanche excell cherche la valeur recherche dans la liste de haut en bas et s’arrête a a première réponse
jais un peu contourné le problème comme dans l'exemple ci joint , j'espère que le résultat sera utile
bonne soirée mais je n'ai pas reussi a envoyer l exemple
jais un peu contourné le problème comme dans l'exemple ci joint , j'espère que le résultat sera utile
bonne soirée mais je n'ai pas reussi a envoyer l exemple
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
29 mars 2017 à 17:33
29 mars 2017 à 17:33
Bonjour
et salut GB
un petit exercice de style sans macro
c'est nettement plus simple avec macro, alors juste pour le fun, un petit exercice de style sans macro
https://mon-partage.fr/f/7bMFIgTn/
crdlmnt
et salut GB
un petit exercice de style sans macro
c'est nettement plus simple avec macro, alors juste pour le fun, un petit exercice de style sans macro
https://mon-partage.fr/f/7bMFIgTn/
crdlmnt
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
29 mars 2017 à 21:26
29 mars 2017 à 21:26
Salut Vaucluse,
Je vois que tu t'es bien amusé même si tu es parti du résultat souhaité et pas de la base. C'est vrai que l'on peut faire plein de belles choses avec formules et même la recherchev récursive mais souvent il faut des colonnes intermédiaires et presque connaitre le résultat pour savoir le nombre de lignes à tirer, alors qu'une variable VBA est tellement plus simple.
Merci de ton exemple et à bientôt.
Je vois que tu t'es bien amusé même si tu es parti du résultat souhaité et pas de la base. C'est vrai que l'on peut faire plein de belles choses avec formules et même la recherchev récursive mais souvent il faut des colonnes intermédiaires et presque connaitre le résultat pour savoir le nombre de lignes à tirer, alors qu'une variable VBA est tellement plus simple.
Merci de ton exemple et à bientôt.
22 mars 2017 à 11:52
Merci pour votre réponse
Est ce que vous pourriez me donner le code de la macro pour mon exemple ci dessus pour que je puisse avoir au moins un début (je ne suis pas hyper calée en vba ..) ?