Récupérer les données de plusieurs cellules pour lequel le type est identique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Sissou71

XLDnaute Occasionnel
Insérer le résultat de plusieurs cellules dans une seule

Bonjour,

J'ai un onglet "feuil1" qui liste différent aliments (Bananes, Tomates...).
J'ai un onglet "feuil2" qui pour chaque commande, donne un numéro, le type d'aliment, la quantité

Dans la "feuil1", je voudrais que dans la cellule à côté de chaque aliment, il indique les numeros des commandes correspondantes.

Si possible en formule, sinon en macro.

Un fichier joint parce que c'est pas forcément très clair...

Merci pour votre aide
 

Pièces jointes

Dernière édition:
Re : Récupérer les données de plusieurs cellules pour lequel le type est identique

Bonjour Sissou71,

Voici 2 solutions.

La solution (1) avec cette formule matricielle en B1 :

Code:
=SI(COLONNES($B1:B1)>NB.SI(Feuil2!$B:$B;$A1);"";INDEX(Feuil2!$A:$A;PETITE.VALEUR(SI(Feuil2!$B$2:$B$100=$A1;LIGNE(Feuil2!$B$2:$B$100));COLONNES($B1:B1))))

A valider par Ctrl+Maj+Entrée et à tirer à droite et vers le bas.

La solution (2) avec cette fonction VBA permettant d'avoir tous les numéros dans une même cellule :

Code:
Function Num$(txt$)
Dim cel As Range
For Each cel In Sheets("Feuil2").Range("B2", Sheets("Feuil2").Range("B65536").End(xlUp))
If cel = txt Then Num = Num & IIf(Num = "", "", ", ") & cel.Offset(, -1)
Next
End Function

Pour ce qui est des liens hypertextes, pas trop le temps maintenant.

A+
 

Pièces jointes

Re : Récupérer les données de plusieurs cellules pour lequel le type est identique

Bonjour Sissou71, le forum,

Voici une macro pour créer des liens hypertextes sur les numéros trouvés :

Code:
Private Sub Worksheet_Calculate()
Dim cel As Range, r As Range
For Each cel In Me.UsedRange
  If Left(cel.Formula, 1) = "=" Then
    cel.Hyperlinks.Delete
    Set r = Sheets("Feuil2").Columns(1).Find(cel, LookIn:=xlValues, LookAt:=xlWhole)
    If cel <> "" And Not r Is Nothing Then cel.Hyperlinks.Add Anchor:=cel, _
      Address:=ThisWorkbook.Path & "\" & ThisWorkbook.Name, SubAddress:="Feuil2!" & r.Address
  End If
Next
End Sub

Fichier joint.

Edition : si les liens ne fonctionnent pas, revalider une formule (Ctrl+Maj+Entrée) pour que la feuille soit recalculée.

A+
 

Pièces jointes

Dernière édition:
Re : Récupérer les données de plusieurs cellules pour lequel le type est identique

Salut Sissou71
Bonjour le fil
Bonjour le Forum
j'ai modifié la procédure de job75
pour que le lien renvoie en feuil2

Code:
Private Sub Worksheet_Calculate()
Dim cel As Range, r As Range
For Each cel In Me.UsedRange
  If Left(cel.Formula, 1) = "=" Then
    cel.Hyperlinks.Delete
    Set r = Sheets("Feuil2").Columns(1).Find(cel, LookIn:=xlValues, LookAt:=xlWhole)
    If cel <> "" And Not r Is Nothing Then cel.Hyperlinks.Add Anchor:=cel, _
     [B][COLOR=blue] Address:="", SubAddress:="Feuil2!" & r.Address
[/COLOR][/B]  End If
Next
End Sub
Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

M
Réponses
2
Affichages
1 K
mad4max
M
T
Réponses
10
Affichages
3 K
Tiflo
T
Retour