RECHERCHEV sur multiples lignes

Bonjour à tous,

Je désire extraire les informations contenues dans l'onglet BRUTE_FACTURE_04 afin de remplir les cases correspondantes dans l'onglet SYNTHESE.

Je ne connais que la fonction RECHERCHEV ou RECHERCHEH mais quand il n'y a qu'une ligne par "référence" recherchée.

Or, dans l'onglet BRUTE_FACTURE_04 j'ai plusieur lignes qui correspondent à l'immat du véhicule ou au nom du conducteur et du coup, je ne sais pas comment récupérer les informations contenues dans les cellules sur de multiples lignes.

En pièce jointe vous trouverez un condensé de mon fichier.

D'avance merci pour votre temps / aide.

Shiroko

Bonjour,

Il faudrait au moins une ligne d'en-têtes sur la 1ère feuille

et qu'on les retrouve sur la synthèse.

Amicalement

Claude

Bonjour.Bienvenue sur le Forum

Si nous avions une ligne de titres sur la feuille BRUTE_FACTURE_04, nous saurions dans quelles colonnes rechercher l'information.

Or, ce qui est sans doute évident pour toi nous oblige à chercher où sont les données qui correspondent aux critères recherchés, ce qui est impossible.

A toi de jouer, par exemple en mettant cette ligne de titres de colonnes et en remplissant les résultats à trouver pour le premier N°.

Cordialement

Bonsoir Claude, Amadeus

shirokobay a mis des couleurs pour nous guider :

Feuille Brute

capture1

Feuille Synthèse

capture2

Je pensais avoir trouvé mais le nombre de lignes n'est pas identique par immatriculation ; d'où l'erreur (signalée en jaune)

Je cherche encore.

Amicalement

Nad

Bonjour à tous,

Voici une solution flexible (macro) qui permet de créer le tableau dont tu as besoin en 1 clic (un casse-tête assez sympa ) ...

Dans la foulée, j'ai fait le nécessaire pour ajouter également les valeurs dans la partie blanche du tableau :

apercu

Le fichier :

Et la macro qui gère tout ça :

Sub remplir()
    Application.ScreenUpdating = False

    der_ligne = Range("A1").End(xlDown).Row
    Range("B2:O" & der_ligne).ClearContents

    For ligne = 2 To der_ligne
        immat = Range("A" & ligne)

        For i = 1 To 100 'Pour 100 lignes (pour ce test, à modifier)
            If Sheets("BRUTE_FACTURE_04").Range("P" & i) = immat Then 'Si immatriculation OK
                For ii = i To 999
                    valeur_cell_p = Sheets("BRUTE_FACTURE_04").Range("P" & ii)

                    If valeur_cell_p = immat Then 'Si 1ere ligne
                         libelle = "CONDUCTEUR"
                        valeur = Sheets("BRUTE_FACTURE_04").Range("S" & ii)
                    ElseIf valeur_cell_p = "O" Or valeur_cell_p = "N" Then ' Si lignes suivantes
                         libelle = Sheets("BRUTE_FACTURE_04").Range("L" & ii)
                        valeur = Sheets("BRUTE_FACTURE_04").Range("O" & ii)
                    Else 'Si autre immatriculation
                        Exit For
                    End If

                    For col = 2 To 15 'Remplissage
                         libelle_test = Cells(1, col)
                        If Trim(libelle_test) = Trim(libelle) Then
                            If Cells(ligne, col) = "" Then
                                Cells(ligne, col) = valeur
                            Else
                                Cells(ligne, col) = Cells(ligne, col) & " / " & valeur
                            End If
                        End If
                    Next
                Next
            End If
        Next
    Next
End Sub

Cordialement,

Rechercher des sujets similaires à "recherchev multiples lignes"