Ajouter ligne VBA si condition

SimonAbrhm

XLDnaute Nouveau
Bonjour à tous,
Je sollicite votre aide car j'ai une idée mais je n'arrive pas à la concrétiser dans Excel. Je pense que ça sera possible avec VBA.
Dans une colonne A, j'ai des numéros à la suite (exemple : 2024, 2024,2024, 1012, 1012, 3036, 3036, 3036, 3036 etc.)
Je voudrais qu'à chaque fois qu'une suite de numéro se termine, une macro ajoute une ligne intitulée "Total" et une autre en-dessous "Cumul"
En gros ça donnerait cela :

2024
2024
2024
Total
Cumul
1012
1012
Total
Cumul
3036
3036
3036
3036
Total
Cumul
Etc...

Merci d'avance pour votre aide précieuse.
Bien cordialement,
Simon
 

Fichiers joints

vgendron

XLDnaute Barbatruc
Hello
un essai avec ce code
VB:
Sub inserer()
Application.ScreenUpdating = False
With ActiveSheet
    fin = .Range("Tableau1").Rows.Count + 2
    .Range("A" & fin) = "Total" 'on place les dernières lignes de Total et Cumul
    .Range("A" & fin + 1) = "Cumul"
   
    For i = .Range("Tableau1").Rows.Count - 1 To 2 Step -1
        If .Range("A" & i) <> .Range("A" & i - 1) Then
            Rows(i).Resize(2).insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            .Range("A" & i) = "Total"
            .Range("A" & i + 1) = "Cumul"
        End If
    Next i
    .Rows("2:3").Delete 'on supprime les lignes qui ont été insérées en tout début de tableau
End With
Application.ScreenUpdating = True
End Sub
 

Discussions similaires


Haut Bas