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

Ajouter un nombre de lignes égale à la valeur contenue ds une cellule

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

exene

XLDnaute Accro
Bonjour,

J'ai effectué des recherches mais pas trouvé une réponse (mauvaise formulation ?).J'aimerais pouvoir insérer un nombre de lignes égale à la valeur contenue dans une cellule. Par exemple, si la cellule AB6 contient la valeur 5, insertion de cinq lignes au dessous de la ligne 6, si la cellule AB20 contient la valeur 2, insertion de 2 lignes en dessous et ainsi de suite. Je vous joint un fichier , l'onglet impression A4 est la feuille d'origine, l'onglet Résultat représente ce que je souhaiterais obtenir.

Merci de votre aide.

@+

Edit : J'oubliais de préciser si la valeur contenue dans une cellule de la colonne AB est égale à 1, il ne se passe rien
 

Pièces jointes

Dernière édition:
Re : Ajouter un nombre de lignes égale à la valeur contenue ds une cellule

Bonjour.
Il s'agit donc de planter Excel immédiatement en saturant le nombre de ligne d'une infinité de fois des paquets de n lignes insérées si j'ai bien compris ?
Parce qu'il n'y a aucune raison que le nombre de lignes à insérer change une fois l'insertion faite !
À moins qu'il s'agisse de vérifier si le nombre de lignes consécutives SANS nombre de lignes à insérer soit égal au dernier spécifié et alors seulement ajouter les lignes manquant en nombre ou supprimer celles en trop. Mais vous ne l'avez pas dit comme ça.
À+
 
Dernière édition:
Re : Ajouter un nombre de lignes égale à la valeur contenue ds une cellule

Bjr exene et Dranreb

j'arrive à tester la colonne AB mais pas à ajouter le test "> 1"

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Column = 28 Then
    For i = 1 To Target
        Target.Offset(1, 0).EntireRow.Insert
    Next
End If
End Sub

cordialement, Gérard
 
Re : Ajouter un nombre de lignes égale à la valeur contenue ds une cellule

Bonjour le fil, bonjour le forum,

Peut-ête comme ça :
Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim x As Integer 'déclare la variable x (incrément)
Dim y As Byte 'déclare la variable y (nombre de lignes)
 
Application.ScreenUpdating = False 'masque les changements à l'écran
dl = Range("AB65536").End(xlUp).Row 'définit la dernière ligne
For x = dl To 5 Step -1 'boucle 1 : inversée de la dernière à la ligne 5
    If Cells(x, 28) > 1 Then 'condition : si la valeur de la cellule est supérieure à 1
        Rows(x + 1).Select 'sélectionne la ligne
        For y = 1 To Cells(x, 28).Value 'boucle 2 : sur le nombre de ligne
            Selection.Insert shift:=xlDown 'insère une ligne en dessous
        Next y 'prochaine ligne de la boucle 2
    End If 'fin de la condition
Next x 'prochaine ligne de la boucle 1
Application.ScreenUpdating = True 'affiche les changements à l'écran
End Sub
 
Re : Ajouter un nombre de lignes égale à la valeur contenue ds une cellule

Bonjour à vous tous,

Je viens de lire vos messages. Le code proposé par Robert fonctionne parfaitement alors que la rédaction de ma demande était confuse (comme le soulignait Dranreb). natorp, ton code me servira pour un futur projet.

Merci encore.
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…