Copie conforme d'une partie d'une feuille

Ahm

XLDnaute Junior
Bonjour,

J'aimerai reproduire une partie d'une feuil1 sur une feuil2;

à savoir:
une copie conforme des colonnes A,B,C,D,E,F et G (surtout pas plus !)
et de l'ensemble des lignes

c'est à dire:
Si ajout d'une ligne ou d'une valeur sur feuil1, j'aimerai que celle-çi soit également ajouté sur la feuil2.

Si quelqu'un a une idée, je serais ravi !

Merci, bonne journée.
 

Guiv

XLDnaute Occasionnel
Re : Copie conforme d'une partie d'une feuille

Bonjour Ahm, le forum,

Par exemple en utilisant l'événement Change de la feuille 1, en supprimant la feuille 2 existante et en la remplaçant par une copie de la feuille 1. Pas très rapide si ta feuille 1 contient beaucoup de données. Les modifications de mise en forme ne déclenchent pas l'évènement, elles ne sont prises en compte sur la feuille 2 que lors de la prochaine saisie en feuille 1.
Je ne sais pas si c'est clair, il est encore bien tôt.
Petit fichier exemple ci-joint

Cordialement,

Guiv
 

Pièces jointes

  • Ahm_Test.xls
    24 KB · Affichages: 79

Ahm

XLDnaute Junior
Re : Copie conforme d'une partie d'une feuille

Merci Guiv,

Impossible de voir ce qu'il y a sur le fichier test (?)
Et je n'ai pas vraiment compris ce qu'était l'évènement change, peux tu m'en dire plus s'il te plaît?

Pour le moment j'ai fait un collage avec liaison qui est très commode;
Le seul problème:
à l'ajout d'une ligne sur feuil1
celle çi n'est pas ajoutée sur feuil2

Comment prendre en compte ces insertions de lignes?
 

Guiv

XLDnaute Occasionnel
Re : Copie conforme d'une partie d'une feuille

Bonsoir,
Sur le fichier exemple, si tu saisis quelque chose dans les colonnes 1 à 8 dans la feuille 1, ça se copie dans la feuille "test" (en tout cas ça devrait... à condition d'activer les macros)
Si tu insères une ligne, elle sera aussi insérée dans la feuille "test". Évidemment, l'insertion ne se voit pas s'il n'y a rien de saisi en dessous de la nouvelle ligne!
Essaie et dis si ça te va.
A te lire

Guiv
 

Guiv

XLDnaute Occasionnel
Re : Copie conforme d'une partie d'une feuille

Re,
Content que ça te convienne.
Pour l'intégrer à ton fichier, tu copies le code ci-dessous:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Nomfeuille As String
Nomfeuille = Sheets(2).Name

If Target.Column < 8 And ActiveSheet.Index = 1 Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Sheets(2).Delete
Sheets(1).Copy After:=Sheets(1)
ActiveSheet.Name = Nomfeuille
Sheets(1).Activate
End If

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
puis:
clic droit sur l'onglet de ta feuille 1
"Visualiser le code"
Une fenêtre s'ouvre et tu y colles le code.
Bonne soirée

Guiv
 

Guiv

XLDnaute Occasionnel
Re : Copie conforme d'une partie d'une feuille

Bonjour Ahm

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Nomfeuille2 As String, NomFeuille1 As String
Nomfeuille2 = Sheets(2).Name
Nomfeuille3 = Sheets(3).Name

If Target.Column < 8 And ActiveSheet.Index = 1 Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Sheets(2).Delete
Sheets(1).Copy After:=Sheets(1)
ActiveSheet.Name = Nomfeuille2

Sheets(3).Delete
Sheets(1).Copy After:=Sheets(2)
ActiveSheet.Name = Nomfeuille3

Sheets(1).Activate

End If

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


...mais c'est encore plus long à s'éxécuter!

Bonne journée,
Guiv
 

sly25

XLDnaute Nouveau
Re : Copie conforme d'une partie d'une feuille

Bonjour,

désolé de réveiller un sujet datant déjà d'une lointaine époque mais est ce que quelqu'un connaitrait la maniere de faire cette copie non pas d'une feuille d'un classeur a une autre feuille de ce meme classeur mais d'une feuille d'un classeur vers une feuille situé sur un autre classeur !!!

Merci d''avance
 

sly25

XLDnaute Nouveau
Re : Copie conforme d'une partie d'une feuille

J'ai ce code la également mais il ne me convient pas parce qu'il concerne uniquement 2 feuilles d'un même classeur :

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Nomfeuille As String
Nomfeuille = Sheets(2).Name

If Target.Column < 8 And ActiveSheet.Index = 1 Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Sheets(2).Delete
Sheets(1).Copy After:=Sheets(1)
ActiveSheet.Name = Nomfeuille
Sheets(1).Activate
End If

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

....
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote