Insérer des lignes automatiquement

Bonjour,

Je souhaiterais savoir comment insérer des lignes automatiquement, via un bouton "Insére ligne" dans un tableau qui contient des mises en forme conditionnelle, enfin je ne pense pas que cela peut géner ! Je suis novice concernant les macros et une aide serait la bienvenue. Information complémentaire, j'aurais besoin de copier cette macro sur l'ensemble des feuilles se trouvant dans le classeur, sachant que chaque feuille contient des lignes pouvant aller de la 1 à 100, 200, 300, 500. C'est un suivi de nos contentieux en cours et clos.

Merci aux personnes qui pourront m'aider.

Valou

Salut Valou et bienvenue sur ce forum

Sans un fichier exemple et/ou une explication plus précise ça ne va pas être possible

PS : Tu peux utiliser l'enregistreur de macro

A+

Bonjour Bruno,

Pas facile de bien s'expliquer à distance, je joins une feuille xls extraite d'une base de données sur laquelle je travaille.

Selon le modèle joint, je souhaite, à l'aide d'un bouton, idem celui en début de tableau, insérer une ligne à la suite de la ligne 11 et au dessus du pavé en couleur qui est une synthèse des infos du dessus.

Merci bcp

Valou

Re,

Je vois que tu avais déjà commencé à faire quelque chose

Essayes avec ce code

Sub NouvelleLigneEnDessous()
  Dim DLig As Long
  Dim ZtNumLig As Long  ' ATTENTION pas en Integer
  'Dim ZtDerCol As Integer
  If MsgBox("Ajouter une ligne ?", vbQuestion + vbYesNo, "QUESTION ...") = vbNo Then Exit Sub
  ' Avec la feuille active
  With ActiveSheet
    ' Chercher la dernière ligne remplie de la feuille
    DLig = .Range("A" & Rows.Count).End(xlUp).Row
    ' La fin du tableau se trouve 5 lignes au dessus de la dernière
    ZtNumLig = DLig - 5
    ' *** Les lignes de dessous peuvent être remplacées
    ' ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
    '.Range(.Cells(ZtNumLig, 1), .Cells(ZtNumLig, ZtDerCol)).Copy
    '.Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol)).Insert Shift:=xlDown
    ' *** par
    .Rows(ZtNumLig).Copy
    .Rows(ZtNumLig + 1).Insert Shift:=xlDown
    .Rows(ZtNumLig + 1).ClearContents
  End With
End Sub

A+

Super, ça fonctionne, merci beaucoup, je vais comparer tes deux envois pour bien comprendre.

Et oui j'avais commencé, mais loin d'avoir fini ! Merci de ton aide.

A bientôt

VALOU

Rechercher des sujets similaires à "inserer lignes automatiquement"