Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Inserer ligne avec condition VBA

  • Initiateur de la discussion Initiateur de la discussion eramond
  • 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 !

E

eramond

Guest
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 😡

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

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

Dernière modification par un modérateur:
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
 
Re : Inserer ligne avec condition VBA

Bonsoir


Effectivement oui, je me suis rendu compte après envoi de ma boulette.

Je remercie tous les participants pour leur supports🙂

Cela va bcp m'aider .
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
791
Réponses
4
Affichages
735
Réponses
4
Affichages
756
Réponses
5
Affichages
915
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
293
Réponses
8
Affichages
393
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…