VBA insertion automatique de lignes en fonction d'une valeur saisie

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 !

polska_diane

XLDnaute Nouveau
Bonjour à tous,
je souhaite saisir dans une cellule un chiffre et qu'automatiquement des lignes s'insèrent en fonction du nombre saisie mais que tu texte s’insère également en même temps. Le mieux est de consulter ma pièce jointe car c'est pas évident de l'expliquer ! Je suis passé par un CommandButton mais peut être il y a une autre solution?
De plus est -il possible de fermer le classeur et de réinitialiser la feuille c'est à dire supprimer les lignes insérées?
Merci de votre aide.
Bonne journée à tous.
 

Pièces jointes

Re : VBA insertion automatique de lignes en fonction d'une valeur saisie

Merci pour votre réponse Benoit,
Cependant j'ai essayé de le retranscrire dans mon fichier mais ça ne fonctionne pas et je ne trouve pas mon erreur, pourriez vous m'aider?

D'avance Merci.
Diane
 

Pièces jointes

Re : VBA insertion automatique de lignes en fonction d'une valeur saisie

Je viens de comprendre mon erreur je n’étais pas sur la première feuille, j'ai donc décalé mes onglets et c''est bon. Cependant comment puis je faire pour commencer la numérotation des bâtiments par 1 et non par 11?

Code:
Sub Insererlignes()
Dim i As Integer, n As Integer

With Sheets(1)
'On vérifie si la valeur en B9 est bien numérique
If Not IsNumeric(.[b9]) Then MsgBox "Entrer une valeur numérique en B9": Exit Sub
    'On enregistre la valeur dans une variable "n"
    n = .[b9]
    'On insère le nombre de ligne au dessus de la quatrième ligne
    .Rows(11).Resize(n).Insert Shift:=xlDown
        'On boucle les valeurs en colonne A
        For i = 11 To 10 + n
            .Cells(i, 1).Value = "Bâtiment " & i
        Next i
            'On enregistre la plage de cellule
            ActiveWorkbook.Names.Add Name:="Nbre_logt", RefersTo:=.Cells(11, 2).Resize(n)
End With
End Sub
tableauxls.png
 
- 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