Copie automatique d'une feuille vers un autre classeur

sly25

XLDnaute Nouveau
Bonjour,

j'ai deux classeurs Excel "fichier1" et "fichier 2". Dans le premier j'ai une feuille avec un tableau que je peux remplir, modifier, insérer des lignes en supprimer et dans le second fichier, j'ai cette meme feuille mais sur laquelle je ne fais rien si ce n'est qu'elle doit etre la copie conforme de la premier feuille.
Comment faire pour que lors de l'insertion d'une ligne ou la suppression ou l'ajout de couleurs dans une cellule, cela soit répertorier sur la seconde feuille automatiquement ?

Merci d'avance
 

job75

XLDnaute Barbatruc
Re : Copie automatique d'une feuille vers un autre classeur

Bonjour sly25, salut david84,

Sinon l'artillerie lourde.

- cette macro dans un Module du fichier 1 (lisez les commentaires) :

Code:
Sub Copie()
On Error Resume Next 'si le 2ème fichier n'est pas ouvert
ThisWorkbook.Sheets("Feuil1").Cells.Copy Workbooks("fichier 2.xls").Sheets("Feuil1").Cells 'noms des feuilles à adapter
End Sub

- dans le code de la Feuil1 du fichier 1 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Copie
End Sub

Les modifications de couleurs ne peuvent pas être répercutées en temps réel.

Il faut alors lancer la 1ère macro, soit par un bouton, soit par un raccourci clavier, soit simplement en revalidant le contenu d'une cellule quelconque, soit par un autre évènement (double-clic...).

A+
 

sly25

XLDnaute Nouveau
Re : Copie automatique d'une feuille vers un autre classeur

Si j'ai bien compris :

Ce code doit aller dans la feuille de base ou les modif sont éffectuées. Je fais un clic droit sur la feuille, visualiser le code et j'ajoute cela :
Private Sub Worksheet_Change(ByVal Target As Range)
Copie
End Sub

Quand à ce code là, je ne vois pas où le placer lorsque tu dis dans le module du fichier 1 :
Sub Copie()
On Error Resume Next 'si le 2ème fichier n'est pas ouvert
ThisWorkbook.Sheets("Feuil1").Cells.Copy Workbooks("fichier 2.xls").Sheets("Feuil1").Cells 'noms des feuilles à adapter
End Sub

Merci en tout cas
 

sly25

XLDnaute Nouveau
Re : Copie automatique d'une feuille vers un autre classeur

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

....
 

job75

XLDnaute Barbatruc
Re : Copie automatique d'une feuille vers un autre classeur

Bonjour sly25,

Quand à ce code là, je ne vois pas où le placer lorsque tu dis dans le module du fichier 1

Pour créer un Module, aller dans VBA (Alt+F11), puis menu Insertion-Module...

Les 2 fichiers peuvent être dans n'importe quels dossiers, l'important est que les 2 soient ouverts.

Si vous n'y arrivez pas, je ne pourrai pas faire grand'chose de plus pour vous :rolleyes:

A+
 

sly25

XLDnaute Nouveau
Re : Copie automatique d'une feuille vers un autre classeur

La MAJ se fera uniquement lorsque les deux classeurs seront ouverts ? Ou si c'est juste pour l'insertion de ce code VB qu'ils doivent etre ouvert ?
Je vais avoir 50 classeur excel et le fait de faire cette MAJ auto me simplifie le fait qu'il faut que je passe sur tous les classeurs et que je les ouvre tous ....

Est ce que je peux faire les modifs dans mon fichier de base sans que les autres soient ouverts et que les modifs s'effectuent que lorsque j'ouvre mes autres classeurs ?
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Copie automatique d'une feuille vers un autre classeur

Re,

Le classeur source et le classeur destination doivent être ouverts tous les deux pour que la copie se fasse, je vais répèter ça combien de fois ???

Si vous avez 10000 fichiers, eh bien vous faites une boucle pour tous les ouvrir un par un, faire la copie, les enregistrer et les fermer...

Il y a plein d'exemples sur le forum.

A+
 

sly25

XLDnaute Nouveau
Re : Copie automatique d'une feuille vers un autre classeur

En fait ce n'est pas genant puisque dès que j'ouvre un classeur, il est automatiquement mis à jour si j'ai bien compris ?

Si je veux ajouter la copie également sur tous mes autres classeurs, j'ajoute a ce code :

Sub Copie()
On Error Resume Next 'si le 2ème fichier n'est pas ouvert
ThisWorkbook.Sheets("Feuil1").Cells.Copy Workbooks("fichier 2.xls").Sheets("Feuil1").Cells 'noms des feuilles à adapter
End Sub

cette ligne par classeur que je veux copier ?

Merci beaucoup en tout cas et désolé pour le temps de compréhension.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 501
dernier inscrit
talebafia