XL 2010 Ajout de ligne suivant un critère dans colonne

jeanmi

XLDnaute Occasionnel
Bonjour à tous,

je souhaiterai ajouter des lignes en fonction d'un numéro qui est dans une colonne.
ci joint un fichier pour faire voir avant traitement et après.

Merci de l'aide

Cordialement
 

Pièces jointes

  • ajout lignes.xlsx
    9.5 KB · Affichages: 5

Chris401

XLDnaute Accro
Bonjour
Code de @Jacky67 modifié :

VB:
Private Sub CommandButton1_Click()
    Dim i&
    For i = Cells(Rows.Count, "A").End(xlUp).Row To 4 Step -1
        If Cells(i, 1) > 1 Then
        Range(Cells(i + 1, 1), Cells(i + Cells(i, 1) - 1, 4)).Insert Shift:=xlDown
        Range(Cells(i, 1), Cells(i + Cells(i, 1) - 1, 4)).FillDown
        End If
    Next
    If MsgBox("Voulez-vous enpêcher de traiter à nouveau", 292, "Question") = 6 Then
        CommandButton1.Visible = False
    End If
End Sub
Bonne journée
 
Dernière édition:

jeanmi

XLDnaute Occasionnel
Bonjour
Code de @Jacky67 modifié :

VB:
Private Sub CommandButton1_Click()
    Dim i&
    For i = Cells(Rows.Count, "A").End(xlUp).Row To 4 Step -1
        If Cells(i, 1) > 1 Then
        Range(Cells(i + 1, 1), Cells(i + Cells(i, 1) - 1, 4)).Insert Shift:=xlDown
        Range(Cells(i, 1), Cells(i + Cells(i, 1) - 1, 4)).FillDown
        End If
    Next
    If MsgBox("Voulez-vous enpêcher de traiter à nouveau", 292, "Question") = 6 Then
        CommandButton1.Visible = False
    End If
End Sub
Bonne journée
Bonjour @Chris401 , bonjour à tous,

je pense que mon explication sur le besoin était mal exprimée.
En fait je souhaité recopier à chaque fois la ligne entière, pas uniquement les première colonnes
En plus dans mon tableau final la donnée qui défini le nombre de fois est dans la colonne B, mais ça il me semble avoir compris comment modifier le A en B.
Cordialement
 

Jacky67

XLDnaute Barbatruc
Bonjour @Chris401 , bonjour à tous,

je pense que mon explication sur le besoin était mal exprimée.
En fait je souhaité recopier à chaque fois la ligne entière, pas uniquement les première colonnes
En plus dans mon tableau final la donnée qui défini le nombre de fois est dans la colonne B, mais ça il me semble avoir compris comment modifier le A en B.
Cordialement
Bon... alors
VB:
Private Sub CommandButton1_Click()
    Dim i&
    For i = Cells(Rows.Count, "B").End(xlUp).Row To 4 Step -1
        If Cells(i, 2) > 1 Then
        Rows(i).Copy
        Rows(i + 1 & ":" & i + Cells(i, 2) - 1).Insert Shift:=xlDown
        End If
    Next
    If MsgBox("Voulez-vous enpêcher de traiter à nouveau", 292, "Question") = 6 Then
        CommandButton1.Visible = False
    End If
End Sub
Ou version Bis, sans message
 

Pièces jointes

  • ajout lignes.xlsm
    24.6 KB · Affichages: 3
  • ajout lignes bis.xlsm
    25.8 KB · Affichages: 4
Dernière édition:

jeanmi

XLDnaute Occasionnel
Bon... alors
VB:
Private Sub CommandButton1_Click()
    Dim i&
    For i = Cells(Rows.Count, "B").End(xlUp).Row To 4 Step -1
        If Cells(i, 2) > 1 Then
        Rows(i).Copy
        Rows(i + 1 & ":" & i + Cells(i, 2) - 1).Insert Shift:=xlDown
        End If
    Next
    If MsgBox("Voulez-vous enpêcher de traiter à nouveau", 292, "Question") = 6 Then
        CommandButton1.Visible = False
    End If
End Sub
Ou version Bis, sans message
re bonjour,

Merci ça fonctionne très bien, quel temps gagné.

cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 087 965
Membres
103 688
dernier inscrit
Amadou