Afficher tous les résultats possibles dans une cellule [Résolu]

Signaler
Messages postés
6
Date d'inscription
mercredi 20 mai 2020
Statut
Membre
Dernière intervention
22 mai 2020
-
Messages postés
6831
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 juillet 2020
-
Bonjour,

Je souhaiterais une formule ou une macro qui renvoie l'ensemble des résultats possibles selon plusieurs critères dans une seule cellule.
Exemple :
Colonne A = Légume (Carotte/Navet/courgette)
Colonne B = Producteur (Jean/Paul/Pierre)
Colonne C = Nom client (Marie/George/Julie)

Dans une seule case, j'aimerais afficher tous les Nom client qui ont acheté des Carottes venant du producteur Paul.

Merci par avance pour votre aide

6 réponses

Messages postés
6831
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 juillet 2020
532
Bonjour,

Comme ceci en vba:

Faire Alt F11 pour accéder à l'éditeur.

Insérer un module

Mettre ce code:

Option Explicit
Sub recherche()
Dim n As Integer
 Range("F3") = "" 'reset F3 a adapter cellule de résultat
For n = 2 To Range("A65536").End(xlUp).Row
  If Range("A" & n).Value = "Carotte" Then
   If Range("B" & n).Value = "Paul" Then
    Range("F3") = Range("F3").Value & Range("C" & n).Value & "|"
   End If
  End If
 Next n
 Range("F3").Value = Left(Range("F3").Value, Len(Range("F3").Value) - 1) 'supprime dernier "|"
End Sub



Associer cette macro à un bouton ou un raccourci clavier

voilà


Messages postés
6
Date d'inscription
mercredi 20 mai 2020
Statut
Membre
Dernière intervention
22 mai 2020
1
Bonjour,

Ca marche super !
Merci beaucoup pour votre aide !!
Messages postés
6
Date d'inscription
mercredi 20 mai 2020
Statut
Membre
Dernière intervention
22 mai 2020
1
Bonjour,

est-ce qu'il serait possible d'ajouter une dernière ligne de code afin de supprimer les doublons dans les résultats obtenus ?

J'ai vu la fonction sansdoublons mais je n'arrive pas à l'appliquer...
Messages postés
6831
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 juillet 2020
532
En cherchant un peu:

http://boisgontierjacques.free.fr/pages_site/Doublons.htm#DoublonCellule

'http://boisgontierjacques.free.fr/pages_site/Doublons.htm#DoublonCellule
Function SansDoublon(c, sep)
  Dim a, mondico, i
  a = Split(Application.Trim(c), sep)
  Set mondico = CreateObject("Scripting.Dictionary")
  For i = 0 To UBound(a): mondico.Item(a(i)) = 1: Next i
  SansDoublon = Join(mondico.keys, sep)
End Function
Sub test()
Range("F3").Value = SansDoublon(Range("F3").Value, "|")
End Sub


Voilà

@+ Le Pivert
Messages postés
23
Date d'inscription
lundi 1 octobre 2018
Statut
Membre
Dernière intervention
8 juin 2020
1
Bonjour,

Je pense qu'il nous manque des renseignements pour répondre à votre problème.
Est-ce possible de visualiser votre feuille de calcul ?
Messages postés
6
Date d'inscription
mercredi 20 mai 2020
Statut
Membre
Dernière intervention
22 mai 2020
1


Voici un tableau d'exemple de mon fichier
Bonjour,
Plusieurs réponses possibles, si j'ai bien compris, dans une seule case. Pourriez vous dire pour quelle raison vous faites ce choix ?
Cordialement.
Messages postés
6
Date d'inscription
mercredi 20 mai 2020
Statut
Membre
Dernière intervention
22 mai 2020
1
Bonjour,

Car j'aimerais que ca marche pour x cas sans avoir à ajouter des lignes pour chaque nouveau cas
Messages postés
643
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
10 juillet 2020
64
Bonjour,
quand vous dites regrouper tous les noms dans la même cellule, c'est de quelle façon ?

Regroupement horizontal, vertical, avec séparateur, ...?
Messages postés
6
Date d'inscription
mercredi 20 mai 2020
Statut
Membre
Dernière intervention
22 mai 2020
1
Bonjour,

J'aimerais que dans une seule case s'afficher tous les résultats pour les quels mes critères sont vrais, avec un séparateur.
Un peu comme un concatener avec une fonction si, mais j'aimerais que ca marche pour une nombre de résultats x
Messages postés
2046
Date d'inscription
vendredi 25 juillet 2014
Statut
Membre
Dernière intervention
1 juillet 2020
769
Bonjour
voir du côté des tableaux croisés dynamiques