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
100

Statistiques des forums

Discussions
312 083
Messages
2 085 185
Membres
102 808
dernier inscrit
guo