formule recherche V+ Si

Willkaaa

XLDnaute Nouveau
Bonjour,
Je me casse la tète depuis 2 heures a rechercher une formule qui convient, je vous explique,

J'ai un premier tableau avec des noms en col A avec plusieurs autres valeurs colB colC colD colE etc.. ou texte correspondant à chaque nom,
Dans un autre tableau sur une autre feuille je voudrais ressortir les nom auxquels ma colonne I de mon 1er tableau contient un X, pourriez vous m'aider!

Merci d'avance,
 

JHA

XLDnaute Barbatruc
Bonjour Staple1600 :)

Cette formule est très souvent utilisée quand il y a plusieurs critères à prendre en compte.

Eh bien moi, j'aimerai bien savoir utiliser le code VBA comme toi mais cela ne veut pas rentrer.

Au plaisir de te croiser bientôt sur le forum.

JHA
 

job75

XLDnaute Barbatruc
Bonjour willkaaa, JM, JHA, le forum,

Une autre solution, très rapide, dans le fichier joint avec un tableau VBA (matrice) :
VB:
Private Sub Worksheet_Activate()
Dim tablo, i&, n&
tablo = Sheets("Page 8").[B1].CurrentRegion.Resize(, 8) 'matrice, plus rapide
For i = 2 To UBound(tablo)
    If tablo(i, 8) <> "" Then n = n + 1: tablo(n, 1) = tablo(i, 1)
Next
'---restitution---
With [D1].CurrentRegion 'à adapter
    .AutoFilter: .AutoFilter 'si le tableau est filtré
    If n Then .Offset(1).Resize(n, 1) = tablo
    .Offset(n + 1).Resize(Rows.Count - n - .Row).EntireRow.Delete 'RAZ en dessous
End With
End Sub
La macro est placée dans le code de "Page 7" et se déclenche quand on active la feuille.

Bonne journée.
 

Pièces jointes

  • PPSPS(1).xlsm
    42.7 KB · Affichages: 14

Willkaaa

XLDnaute Nouveau
Bonjour je vous remercie pour vos réponses;), cependant pour intégrer les macro je suis perdu de ce coté,:( mais je vois que c'est super! Je vais prendre le temps d'apprendre comment on déchiffrer et intégrer une macro,

Concernant la formule (JHA) je l’intègre dans mon tableau mais elle ne me met pas les bon noms mais j'y travail.
-JHA pourrais tu me déchiffrer un peu la formule?
Merci d'avance,
 

JHA

XLDnaute Barbatruc
Bonjour à tous,
VB:
=SIERREUR(INDEX('Page 8'!$B$2:$B$10;PETITE.VALEUR(SI('Page 8'!$I$2:$I$10="x";LIGNE('Page 8'!$I$2:$I$10)-1);LIGNE(1:1)));"")
Formule à valider avec les 3 touches Ctrl+Maj+Entrée en même temps. Si la validation est correctement exécutée, des accolades "{ }" se mettront de chaque côté de la formule.
SIERREUR(......;"") si il y a une erreur avec cette formule, ne rien mettre dans la cellule.
INDEX('Page 8'!$B$2:$B$10;.... rechercher la position du résultat de la formule petite.valeur() dans la plage "B2:B10"
PETITE.VALEUR(SI('Page 8'!$I$2:$I$10="x";LIGNE('Page 8'!$I$2:$I$10)-1);LIGNE(1:1))
SI('Page 8'!$I$2:$I$10="x";LIGNE('Page 8'!$I$2:$I$10)-1) si il y a une "x" dans la plage "I2:I10"; prendre le numéro de ligne avec -1 car la plage débute en ligne 2.
petite.valeur(plage;LIGNE(1:1)) = 1 donc prendre la plus petite valeur de la plage
petite.valeur(plage;LIGNE(2:2))= 2 prendre la seconde plus petite valeur de la plage

JHA
 

Discussions similaires

Réponses
11
Affichages
466

Statistiques des forums

Discussions
312 094
Messages
2 085 242
Membres
102 833
dernier inscrit
Hassna