Code VBA agissant sur 2 feuilles

Résolu
Bonjour.

J'ai ce code de Bouton sur ma Feuil1:

'Insérer ligne au dessus ligne A3
Private Sub CommandButton1_Click()
Cells(3, 1).EntireRow.Insert
Rows(Cells(3, 1).Row + 1).Copy Rows(Cells(3, 1).Row)
On Error Resume Next
Rows(Cells(3, 1).Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
Dim plage As Range
Set plage = Range("A3:G3000")
plage.Borders(xlEdgeBottom).LineStyle = xlContinuous
plage.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End Sub

Comment le modifier pour que l'insertion de ligne se produise aussi sur ma Feuil2 , à partir de ce même bouton ?

Merci



--
Windows 8.1 Office 2013

4 réponses

  1. bonjour

    euh.....je vais dire une GROSSE bêtise....
    en sélectionnant les 2 feuilles (touche CTRL) avant l'insertion ???????
    euh .... en copiant le bouton ????
    1. Bonjour.
      Je veux qu'en actionnant le bouton qui insère une ligne avec mise en forme de ma Feuil1,
      il se produise la même chose ur ma Feuil2.
      A partir de cet unique bouton.
  2. Bonjour
    Mettez un bouton de type formulaire (pas activeX) et copier ce code dans un module (pas le module de la feuille)
    Sub InsertLignes()
        For i = 1 To 2
            Sheets("Feuil" & i).Cells(3, 1).EntireRow.Insert
            Sheets("Feuil" & i).Rows(Cells(3, 1).Row + 1).Copy Sheets("Feuil" & i).Rows(Cells(3, 1).Row)
            On Error Resume Next
            Sheets("Feuil" & i).Rows(Cells(3, 1).Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
            Dim plage As Range
            Set plage = Sheets("Feuil" & i).Range("A3:G3000")
            plage.Borders(xlEdgeBottom).LineStyle = xlContinuous
            plage.Borders(xlInsideHorizontal).LineStyle = xlContinuous
        Next i
    End Sub

    Essayez
    Cdlt
    1. Merci. Fonctionne très bien sur un classeur d'essai, vierge.
      Par contre, sur le classeur ou je dois appliquer ce code:
      Ma Feuil1 s'appelle "Fait le"
      Ma Feuil2 s'appelle "Données"
      Quand j'essaie d'adapter, Excel me renvoie (en gras ici, puisque je ne peux pas mettre de couleur):

      Private Sub CommandButton3_Click()
      'Sub InsertLignes()
      For i = 1 To 2
      Sheets("Fait le" & i).Cells(3, 1).EntireRow.Insert
      Sheets("Fait le" & i).Rows(Cells(3, 1).Row + 1).Copy Sheets("Feuil" & i).Rows(Cells(3, 1).Row)
      On Error Resume Next
      Sheets("Données" & i).Rows(Cells(3, 1).Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
      Dim plage As Range
      Set plage = Sheets("Données" & i).Range("A3:G3000")
      plage.Borders(xlEdgeBottom).LineStyle = xlContinuous
      plage.Borders(xlInsideHorizontal).LineStyle = xlContinuous
      Next i
      End Sub
      1. Voilà
        Sub InsertLignes()
            For i = 1 To 2
                Sheets(i).Cells(3, 1).EntireRow.Insert
                Sheets(i).Rows(Cells(3, 1).Row + 1).Copy Sheets(i).Rows(Cells(3, 1).Row)
                On Error Resume Next
                Sheets(i).Rows(Cells(3, 1).Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
                Dim plage As Range
                Set plage = Sheets(i).Range("A3:G3000")
                plage.Borders(xlEdgeBottom).LineStyle = xlContinuous
                plage.Borders(xlInsideHorizontal).LineStyle = xlContinuous
            Next
        End Sub

        Cdlt
        1. Génial...
          Merci Frenchie.