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
 

Pièces jointes

  • ExcelDownLoad.xlsx
    19.5 KB · Affichages: 50

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

Réponses
4
Affichages
168
Réponses
2
Affichages
562

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 942
Membres
101 849
dernier inscrit
florentMIG