Bouton Insérer une ligne

Bonjour,
Je veux faire un bouton insérer une ligne à partir de la ligne N°9 en gardant la même mise en forme de la ligne précédente et le bouton a cocher dans la colonne "I" et les formules sachant que la formule dans la cellule "I9" liée par la cellule "I8". quand je clique sur le bouton une autre fois l'insertion se fera à partir de la ligne N°10 puis N°11 et ainsi de suite.
Merci pour vos aides.

Configuration: Windows / Chrome 71.0.3578.98

3 réponses

  1. Bonjour,

    Pour répondre au mieux à votre besoin, pouvez-vous partager votre fichier via : www.cjoint.com

    cdt,
    Théo
    0
    1. J'ai fais ce macro

      Private Sub CommandButton1_Click()
      'make new row
      Cells(9, 1).EntireRow.Insert Shift:=xlDown
      'copy the row above
      Cells(9, 1).Offset(-1, 0).EntireRow.Copy Cells(Cells(9, 1).Row, 1)
      On Error Resume Next
      'clear every cell in the new line that does not have a formula
      Cells(9, 1).EntireRow.SpecialCells(xlCellTypeConstants, 23).ClearContents
      End Sub

      je veux savoir comment quand je clique au bouton une autre fois il termine la même procedure mais avec la ligne suivante cad la ligne 10 puis 11 etc
      0
      1. Bonjour,

        Essaie avec ce code là

        Sub CommandButton1_Click()
        Dim NumLigne As Double
        
        NumLigne = Range("A" & Rows.Count).End(xlUp).Row
        
        'make new row
        Cells(NumLigne, 1).EntireRow.Insert Shift:=xlDown
        'copy the row above
        Cells(NumLigne, 1).Offset(-1, 0).EntireRow.Copy Cells(Cells(NumLigne, 1).Row, 1)
        On Error Resume Next
        'clear every cell in the new line that does not have a formula
        Cells(NumLigne, 1).EntireRow.SpecialCells(xlCellTypeConstants, 23).ClearContents
        End Sub
        
        0
      2. Merci Theo,
        Reste une seule chose, je veux que la ligne insérer garde la même mise en forme et les formules de la ligne précédente.
        0
      3. c bon, j'ai fais :
        NumLigne = Range("A" & Rows.Count).End(xlUp).Row - 1

        j'ai trouver la solution

        mais est ce que je peux verrouiller la colonne "I" a partir du 7 ligne parce qu'il contient une formule et quand je ferai insérer une ligne la ligne suivante de la colonne "I" soit verrouillé
        0
      4. Pour Verrouiller une cellule :

        Etape 1 : Déverrouillée l'ensemble des cellules :

        Ctrl + A
        Clic droit -> Format de cellule
        "Protection"
        Décocher "Verrouillée"
        OK

        Etape 2 : Protéger la feuille :

        Onglet "Révision"
        Protéger la feuille
        Ok

        Ensuite ajouter le code suivant a la fin de la macro :

        If NumLigne > 7 Then
        Cells(NumLigne, 9).locked = true
        End If
        
        0
    2. Merci pour vos aide,
      j'ai une formule L8=L7-G8-H8+J8
      Dans la cellule I8 j'ai fais un carreau à cocher, si I8 est coché la formule devient L8=L7-G8+J8 sinon elle reste la même cad L8=L7-G8-H8+J8
      Merci
      0