Microsoft 365 Renvoie en tête selon valeur

  • Initiateur de la discussion Initiateur de la discussion eric72
  • Date de début Date de début

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 !

eric72

XLDnaute Accro
Bonjour à tous,
Je rencontre un problème pour récupérer les en-tête en fonction d'un nom saisi, je m'explique:
- j'ai un base de données dans l'onglet "Archives", j'aimerais en feuil3, quand je saisie un nom en "Q1" qu'il me renvoie les en-têtes de colonnes dans lesquelles apparait ce nom, Sylvanu m'a donné une solution pour renvoyer la 1ere date mais j'aimerais avoir toutes les dates.
Avez-vous une idée.
Merci à tous pour le temps consacré à aider les autres!!!
Eric
 

Pièces jointes

Bonjour Eric,
Un essai en PJ cette macro :
VB:
Sub ChercheClient()
    Ligne = 2: Nom = [Q1]: [Q2:R1000].ClearContents
    Application.ScreenUpdating = False
    tablo = Sheets("Archives (2)").Range("Tableau")
    Cmax = UBound(tablo, 1)
    For L = 1 To UBound(tablo)
        If tablo(L, 2) = "client" Then
            For C = 3 To Cmax
                If tablo(L, C) = Nom Then
                    Cells(Ligne, "Q") = tablo(1, C)
                    Cells(Ligne, "R") = tablo(L, 1)
                    Ligne = Ligne + 1
                End If
            Next C
        End If
    Next L
End Sub
On cherche dans les lignes "client" si on cherche le nom dans toutes les colonnes puis on relève la date et l'heure.
 

Pièces jointes

Bonjour Eric,
Un essai en PJ cette macro :
VB:
Sub ChercheClient()
    Ligne = 2: Nom = [Q1]: [Q2:R1000].ClearContents
    Application.ScreenUpdating = False
    tablo = Sheets("Archives (2)").Range("Tableau")
    Cmax = UBound(tablo, 1)
    For L = 1 To UBound(tablo)
        If tablo(L, 2) = "client" Then
            For C = 3 To Cmax
                If tablo(L, C) = Nom Then
                    Cells(Ligne, "Q") = tablo(1, C)
                    Cells(Ligne, "R") = tablo(L, 1)
                    Ligne = Ligne + 1
                End If
            Next C
        End If
    Next L
End Sub
On cherche dans les lignes "client" si on cherche le nom dans toutes les colonnes puis on relève la date et l'heure.
Super Sylvanu,
par contre, je n'ai pas besoin des heures et donc uniquement chaque date
Vous avez été trop performant sur ce coup là, lol!!!
 
Re,
alors je me permets une dernière requête, peux-t-on se contenter de saisir LEMAY au lieu de HL/LEMAY.
Avec cette formule en Q2 :
=TRIER(DATEVAL(INDEX('Archives (2)'!2:2;UNIQUE(DANSCOL(SI(ESTNUM(CHERCHE(Feuil3!Q1;Archives));COLONNE(Archives);NA());2)))))
 

Pièces jointes

- 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

Réponses
5
Affichages
397
Réponses
28
Affichages
2 K
Retour