Copier et Coller avec conditions

Bonjour tout le monde.

Ma préoccupation c’est de créer une macro qui crée deux lignes vides avec condition en insérant juste après le contenu de la première ligne (titres) de la feuille.

Concrètement, j’ai dans la colonne C de ma base de données (Feuil1) du fichier Dbd des grades de NEW, JUNIOR, SENIOR ET OLD. Alors j’aimerais créer une macro qui va parcourir ma base de données et à chaque fois qu’il rencontre OLD ou SENIOR, il doit créer 2 lignes vides en dessous et copier la première ligne (les titres et les couleurs) pour coller sur la 2ème ligne vide créée sous OLD ou SENIOR.

Je joins le fichier Dbd pour être clair.

  • La feuil1 : c’est ma base de données
  • La feuil2 : c’est ce que je souhaiterais obtenir en exécutant la macro

Merci

15dbd.xlsx (17.08 Ko)

Bonjour,

A tester :

Option Explicit

Sub InsererDeuxLignes()

Dim I As Integer, DerniereLigne As Integer
Dim AireTitre As Range
Dim Sh As Worksheet

    Set Sh = Sheets("Feuil1")
    With Sh
         Set AireTitre = .Range("A1:D1")
         DerniereLigne = .Cells(.Rows.Count, 3).End(xlUp).Row
         For I = DerniereLigne To 2 Step -1
             Select Case .Cells(I, 3)
                    Case "OLD", "SENIOR"
                        .Rows(I + 1 & ":" & I + 2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
                        AireTitre.Copy Destination:=.Cells(I + 2, 1)
             End Select
         Next I
    End With
    Set Sh = Nothing:  Set AireTitre = Nothing

End Sub

La marco fonctionne très bien avec fluidité et rapidité 🕺

Merci beaucoup à Eric Kergresse pour cette réponse prompte et satisfaisante 👍👏

Rechercher des sujets similaires à "copier coller conditions"