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

  • Initiateur de la discussion Initiateur de la discussion jeanmi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
Bonjour à tous
Autre proposition (insert les lignes uniquement dans le tableau)
 

Pièces jointes

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:
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
 
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

Dernière édition:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour