Inserer ligne avec condition VBA

eramond

XLDnaute Junior
Bonjour le forum,

Après avoir parcouru celui en long et en large je ne trouve pas ce que je cherche

Je recherche une macro qui insere autant de ligne vide que la dernière valeur non vide en colonne A

Je n'arrive pas à lui faire comprendre la condition de nombre :mad:

Mon code:

Sub insererLig()
Dim lig As Long
Dim j As Integer
For j = 1 To 100
Nb_ligne_ajout_ = ActiveSheet.Cells(j, 1).Value

For lig = Cells(Rows.Count, "A").End(xlUp).Row To Nb_ligne_ajout_ Step -1
If Cells(lig, "A") <> "" Then
Range("A" & lig).EntireRow.Insert
End If
Next lig
Next j
End Sub

Merci d'avance
 

Pièces jointes

  • test-recopie-stephane.xlsm
    18.8 KB · Affichages: 68

Roland_M

XLDnaute Barbatruc
Re : Inserer ligne avec condition VBA

bonsoir,

pas tout compris !?

mais s'il s'agit d'ajouter autant de lignes qu'indiqué dans la colonne, voir ceci !?

Code:
Sub InsererLig()
Dim Lig&, DernLig&, NbrDeligInsert%
DernLig = Columns(1).Rows(ActiveSheet.Rows.Count).End(xlUp).Row
For Lig = DernLig To 1 Step -1
    NbrDeligInsert = 0
    If IsNumeric(Cells(Lig, 1)) Then NbrDeligInsert = Cells(Lig, 1).Value
    If NbrDeligInsert > 0 Then Rows(Lig+1).Resize(NbrDeligInsert).Insert
Next
End Sub
 
Dernière édition:

eramond

XLDnaute Junior
Re : Inserer ligne avec condition VBA

Bonsoir et merci de la réponse.

Malheureusement cela ne fonctionne pas.

Pour repreciser ma demande car je ne suis pas clair.

A B C
1 Nb of ligne drawing facto
2 4 V23 TO
3 6 V24 TF
4 V25 TB
5 8 V22 LTE


Je souhaite inserer dans le cas ci dessus:
-4 lignes vides entre A2 et A3
-6 lignes vides entre A3 et A4
-Aucune ligne entre A4 et A5
-8 lignes vides entre A4 et A5.

Suis je clair?

Merci bcp
 

Roland_M

XLDnaute Barbatruc
Re : Inserer ligne avec condition VBA

re

alors si c'est les valeurs en colonne B :

Code:
Sub InsererLig()
 Dim Lig&, DernLig&, NbrDeligInsert%
 DernLig = Columns(2).Rows(ActiveSheet.Rows.Count).End(xlUp).Row' Col B !?
 For Lig = DernLig To 1 Step -1
     NbrDeligInsert = Val(Cells(Lig, 2)) 'Col B !?
     If NbrDeligInsert > 0 Then Rows(Lig + 1).Resize(NbrDeligInsert).Insert
 Next
 End Sub
 

JAcQUOT

XLDnaute Nouveau
Re : Inserer ligne avec condition VBA

Bonsoir à tous,

Peut-être ceci !

excusez-moi de cette réponse tardive mais je ne comprends pas ceci :

-Aucune ligne entre A4 et A5
-8 lignes vides entre A4 et A5.

bonne soirée !
 

Pièces jointes

  • Triage.xls
    48.5 KB · Affichages: 49
  • Triage.xls
    48.5 KB · Affichages: 63
  • Triage.xls
    48.5 KB · Affichages: 65
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Inserer ligne avec condition VBA

Bonjour à tous,

en fait le code de Roland_M fonctionne bien, sauf que le classeur fourni est "calé" sur la colonne L, de sorte que l'on pourrait croire qu'il s'agit de la colonne A.

donc dans le code du post #2 il faut modifier les références de colonne A (ou colonne 1) à colonne L (ou colonne 12)

Bonne fin de journée
 

Discussions similaires

Réponses
11
Affichages
343

Statistiques des forums

Discussions
312 429
Messages
2 088 348
Membres
103 822
dernier inscrit
kader55