Code VBA agissant sur 2 feuilles [Résolu/Fermé]

Signaler
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
-
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
-
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


4 réponses

Messages postés
385
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
6 mars 2020

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 ????
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
2
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.
Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020
278
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
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
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
Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020
278
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
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
2
Génial...
Merci Frenchie.