Insérer un ligne avec un bouton.

DAVID-44-

XLDnaute Occasionnel
Bonjour,
J'aimerais copier et insérer une ligne grâce à un bouton "Insérer ligne" sous des lignes définies. (lignes bleues : fournisseurs / produits / besoin de... etc.)
Ex : Copier la ligne 9 et l'insérer en 10 puis copier la ligne 25 et l'insérer 26, etc.

Malheureusement, quand je crée une macro pour actionner la commande, lorsque je l'utilise le bouton "Insérer ligne", la première ligne est bien à sa place, mais les autres sont toutes décalées...
Ex. : Copier la ligne 9 et l'insérer en 10 mais ensuite ce n'est pas la ligne 26 qui est copiée, mais la ligne 25 qui correspond du coup à la ligne bleu et je me retrouve avec deux lignes bleu !

Je n'arrive pas à trouver une solution à mon problème!
Merci de votre aide.
 

Pièces jointes

  • STOCK.exemple.xlsm
    169.6 KB · Affichages: 22
Dernière édition:

vgendron

XLDnaute Barbatruc
Hello
avec ce code si j'ai bien compris

VB:
Sub insererLigne()
Dim Fin, i As Long
Application.ScreenUpdating = False
'insère une ligne au début de chaque tableau: juste sous les lignes d'entete contenant "FOURNISSEURS"

    Fin = Range("B" & Rows.Count).End(xlUp).Row 'dernière ligne de la feuille
    For i = Fin To 8 Step -1 'on remonte jusqu'à la ligne 8
        If Range("B" & i) = "FOURNISSEURS" Then 'on a identifié une ligne d'entete
            Rows(i + 1).Copy 'on copie la première ligne SOUS Fournisseurs
            Rows(i + 1).Insert shift:=xlDown 'on la colle SOUS fournisseurs en décalant tout le reste vers le bas
            Rows(i + 1).ClearContents 'on vide le contenu de la nouvelle ligne
        End If
    Next i

Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Réponses
4
Affichages
77

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof