Lignes entête et lignes détail dans le même onglet

Bonjour,

J'ai des lignes entête dans un onglet et des lignes détail dans un autre onglet

Je voudrais réconcilier les deux dans un autre onglet du même classeur.

exemple :

application1 xxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx

traitement 1 xxxxxxxxxx xxxxxxxxxxx

traitement 2 xxxxxxxxxx xxxxxxxxxxx

traitement 3 xxxxxxxxxx xxxxxxxxxxx

application 2 xxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx

traitement 1 xxxxxxxxxx xxxxxxxxxxx

traitement 2 xxxxxxxxxx xxxxxxxxxxx

traitement 3 xxxxxxxxxx xxxxxxxxxxx

application3 xxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx

traitement 1 xxxxxxxxxx xxxxxxxxxxx

traitement 2 xxxxxxxxxx xxxxxxxxxxx

traitement 3 xxxxxxxxxx xxxxxxxxxxx

Merci d'avance pour votre aide

Alain

Bonjour Alain, bonjour le forum,

C'est tellement clair que je suis passé au travers...

Désolé pour le retard à répondre et le peu de clarté de ma demande.

Ci-joint un fichier excel qui devrait l'expliciter...

Merci d'avance

ALain

Re,

Essaie comme ça :

Sub Macro1()
Dim OE As Worksheet 'déclare la variable OE (Onglet Entete)
Dim OD As Worksheet 'déclare la variable OD (Onglet Détails)
Dim ORA As Worksheet 'déclare la variable ORA (Onglet Résultat Attendu)
Dim TVE As Variant 'déclare la variable TVE (tableau des Valeur des Entete)
Dim TVD As Variant 'déclare la variable TVD (tableau des Valeur des détails)
Dim I As Integer 'déclare la variable I (Incrément)
Dim COL As Integer 'déclare la variable COL (Colonne)
Dim J As Integer 'déclare la variable J (incrément)
Dim LI As Integer 'déclare la variable LI (LIgne)

Set OE = Worksheets("entete") 'définit l'onglet OE
Set OD = Worksheets("détails") 'définit l'onglet OD
Set ORA = Worksheets("Résultat attendu") 'définit l'onglet ORA
TVE = OE.Range("A1").CurrentRegion 'définit le tableau des valeurs TVE
TVD = OD.Range("A3").CurrentRegion 'définit le tableau des valeurs TVD
For I = 3 To UBound(TVE, 1) 'boucle 1 : sur toutes les lignes I du tableau des valeurs TVE (en partant de la toisième
    LI = IIf(ORA.Range("B3").Value = "", 3, ORA.Cells(Application.Rows.Count, "B").End(xlUp).Row + 1) 'définit la ligne LI (3 ou la première ligne vide de la colonne B de l'onglet ORA)
    With ORA.Cells(LI, 1).Resize(1, UBound(TVE, 2)) 'prend en compte les cellule de la ligne LI
        .Value = Application.Index(TVE, I) 'renvoie la ligne I du tableau des valeurs TVE
        .Font.Bold = True 'police gras
        .Font.Italic = True 'police italique
    End With 'fin de la pris en compte...
    For J = 1 To UBound(TVD, 1) 'boucle 2 : sur toutes les lignes J du tableau des valeurs TVD
        If Replace(TVD(J, 2), "r", "t") = TVE(I, 1) Then 'condition : si la donnée en colonne 2 de la boucle 2 est égale à á donnée en colonne 1 de la boucle 1 en remplaçant le "r" par un "t"
            LI = ORA.Cells(Application.Rows.Count, "B").End(xlUp).Row + 1 'redéfinit la ligne LI
            ORA.Cells(LI, "B").Resize(1, UBound(TVD, 2)).Value = Application.Index(TVD, J) 'renvoie la ligne J du tableau des valeur TVD
        End If 'fin de la condition
    Next J 'prochaine ligne de la boucle 2
Next I 'prochaine ligne de la boucle 1
End Sub

Merci THAUTHEME,

C'est exactement çà que je veux ...

J'ai un peu de mal à l'adapter à mon fichier... Je me permettrai peut-être de te l'envoyer pour que tu corriges. Je vais essayer encore demain.

En fait je n'y connais rien en macro et en VBA. CQFD !

Merci encore

Alain

Bonjour THAUTHEME,

Je me permets de te renvoyer un autre fichier. Mes limites en VBA sont sans limites... Je n'arrive pas à adapter ta macro. Je n'en suis pas loin je crois mais il me manque une rupture dans l'onglet UTM.

A chaque ligne lue dans l'onglet UTF, je ramasse toutes les lignes de l'onglet UTM !!!!

Je ne dois pas être très loin de la vérité !

Merci pour ton aide

Alain

5classeur4.xlsm (32.19 Ko)
Rechercher des sujets similaires à "lignes entete detail meme onglet"