Boucle pour copier et insérer des lignes

10trame-macro.xlsm (54.64 Ko)

Bonjour,

Je suis bien embêtée, malgré mes recherches je n'arrive pas à trouver ce que je veux... (je suis très novice en boucle VBA)

Dans le fichier ci joint, je souhaite remplir l'onglet "Trame" à partir des onglets "Famille" et "Mapping"

J'ai besoin de copier le n° de l'ATC de l'onglet "Mapping" dans l'onglet "Trame" en colonne A et que pour chaque ATC toutes les familles sélectionnées soient collées à la suite + le n° ATC doit être dupliqué sur chaque 'lot' de famille collé.

J'ai mis un exemple dans l'onglet Trame.

Le nombre de ligne de l'onglet "Famille" et "Mapping" peut être amener à changer.

J'espère avoir fourni toutes les informations dont vous aurez besoin pour m'aider.

Merci à vous !

bonjour,

une proposition

Sub aargh()
    With Sheets("mapping")
        dl = .Cells(Rows.Count, 1).End(xlUp).Row - 1
        atc = .Cells(2, 1).Resize(dl, 1)
    End With
    With Sheets("famille")
        dl = .Cells(Rows.Count, 1).End(xlUp).Row - 1
        famille = .Cells(2, 1).Resize(dl, 2)
    End With
    With Sheets("trame")
        .UsedRange.Offset(1).Clear
        nl = UBound(famille)
        lt = 2
        For i = LBound(atc) To UBound(atc)
            .Cells(lt, 1).Resize(nl, 1).Value = atc(i, 1)
            .Cells(lt, 2).Resize(nl, 2) = famille
            lt = lt + nl
        Next i
    End With
End Sub

Bonjour,

Ouah ! Un grand merci à vous !!! Ca fonctionne parfaitement !

Je comprends maintenant pourquoi je n'y arrivais pas malgré mes recherches...

Encore merci à vous !

Rechercher des sujets similaires à "boucle copier inserer lignes"