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

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

Jacky67

XLDnaute Barbatruc
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

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

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

Réponses
3
Affichages
162
Réponses
13
Affichages
407
Réponses
23
Affichages
464
Réponses
4
Affichages
293
Réponses
2
Affichages
388
Réponses
3
Affichages
253
Réponses
10
Affichages
257
Réponses
5
Affichages
211
Réponses
4
Affichages
444
Réponses
5
Affichages
326

Statistiques des forums

Discussions
315 290
Messages
2 118 074
Membres
113 421
dernier inscrit
MagicVander