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

  • Votes
  • Date
  • Date décroissante
  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.
  2. 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. 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. 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.