Microsoft 365 Macro Pour inserer 9 lignes à chaque nouveau matricule

SEVE95

XLDnaute Nouveau
Bonjour,
Je voudrais faire une macro qui me permette d'insérer 9 lignes à chaque nouveau matricule
Je vous remercie par avance
Bien cordialement
 

Pièces jointes

  • base pour inserer des lignes.xlsx
    24 KB · Affichages: 9

SEVE95

XLDnaute Nouveau
Ca m'ajoute que des lignes à chaque matricule et non à chaque ligne Merci beaucoup
1719228403744.png
 

SEVE95

XLDnaute Nouveau
tu parles de 5000 lignes.. j'en déduis que finalement, ce n'est pas entre chaque NOUVEAU matricule mais bien entre CHAQUE ligne

VB:
Sub InsererEntreChaqueligne()
    Application.ScreenUpdating = False
    With ActiveSheet 'avec la feuille active
        LastLine = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne non vide de la colonne A
      
        Set zone = .Range("A2:F" & LastLine) 'on définit le tableau complet
        .Sort.SortFields.Clear
        .Sort.SortFields.Add2 Key:=zone.Columns(1).Offset(1, 0), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 'on créé le tri sur la colonne A
        With .Sort 'on applique le tri
            .SetRange zone
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With

        For i = LastLine To 4 Step -1 'pour toutes les lignes en partant du bas
            'If .Range("A" & i) <> .Range("A" & i - 1) Then 'si on a deux matricules différents
                .Rows(i).Resize(9).Insert
            'End If
        Next i
    End With
    Application.ScreenUpdating = True
    MsgBox "OK"
End Sub
ca Marche merci beaucoup Autre question serait il possible pour les 9 lignes recopier la ligne d'en haut à chaque fois

1719233203863.png

 

Discussions similaires

Statistiques des forums

Discussions
315 098
Messages
2 116 193
Membres
112 679
dernier inscrit
Yupanki