Mettre à jours une feuille dans plusieurs classeurs

cquentin1

XLDnaute Nouveau
Bonjour,

j'ai un classeur "perso1" qui contient une feuille "Data1"
cette feuille "Data1" se retrouve dans plusieurs autres classeurs "perso2, perso3, etc..."

Mon prb est que la feuille "Data1" change souvent (ajout de nouvelles lignes ou colonnes)
Comment puis-je mettre cette feuille à jours automatiquement dans tous les classeurs qui l'utilisent ??

Je pensais créer un classeur de référence pour qu'une macro mise dans les classeurs perso1, perso2, compare les deux feuilles. mais ça c'est la théorie, je ne sais pas comment faire exactement.

Petite difficulté supplémentaire, il faudrait que cette mise à jours fonctionne sans avoir à ouvrir manuellement un autre classeur ...

D'avance merci pour toutes vos idées
 
C

Compte Supprimé 979

Guest
Re : Mettre à jours une feuille dans plusieurs classeurs

Salut CQuentin1,

Utilises l'enregistreur de macro pour le premier classeur,
ensuite il te restera à adpater le code pour les autres ;)

A+
 

youky(BJ)

XLDnaute Barbatruc
Re : Mettre à jours une feuille dans plusieurs classeurs

Salut,
les classeurs doivent être dans le même répertoire.
Ne pas mettre les macro en perso1 mais dans les autres
en workbook_open des classeurs.... mets.....prendspage
en Before_close...mets...remetsLaPage
Important remplacer les NosInfos par perso1
et NomDesJoueurs par Data1
Que fait la macro...??
Elle efface à l'ouverture l'onglet et copie le data1 de perso1 à la place
et à la fermeture elle le remets avec les nouvelles modifs dans le fichier
perso1
En espérant que cela puisse t'aider


Sub prendspage()
Application.ScreenUpdating = False
chemin = ThisWorkbook.Path
draw = ActiveWorkbook.Name
On Error Resume Next
Workbooks("NosInfos.xls").Activate
If Err.Number = 9 Then
Err = 0
Application.DisplayAlerts = False
Workbooks.Open Filename:=chemin & "\NosInfos.xls"
Application.DisplayAlerts = True
End If
Windows(draw).Activate
SendKeys "{ENTER}"
Sheets("NomDesJoueurs").Delete
Windows("NosInfos.xls").Activate
Sheets("NomDesJoueurs").Copy Before:=Workbooks(draw).Sheets(1)
Windows("NosInfos.xls").Activate
ActiveWindow.Close SaveChanges:=False
Windows(draw).Activate
Application.ScreenUpdating = True
End Sub

Sub remetsLaPage()
draw = ActiveWorkbook.Name
chemin = ThisWorkbook.Path
Application.ScreenUpdating = False
Workbooks.Open Filename:=chemin & "\NosInfos.xls"
Windows("NosInfos.xls").Activate
SendKeys "{ENTER}"
Sheets("NomDesJoueurs").Delete
Windows(draw).Activate
Sheets("NomDesJoueurs").Copy Before:=Workbooks("NosInfos.xls").Sheets(1)
Windows("NosInfos.xls").Activate
Windows(draw).Activate
Application.ScreenUpdating = True
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 097
Membres
103 116
dernier inscrit
kutobi87