Initialisation d'une fueille par les données d'une autre [Résolu]

Signaler
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008
-
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008
-
bonjour,

j'ai deux fuielle Ewcel, je veux à l'ouverture du classeur, initialiser la fueille A par les données de la fueille B, et a chaque fois que je ferme mon classeur et je le réouvre, je veux que les données de la fueile B apparaissent dans la fueille A.

y'a-t-il un moyen pour le faire ??

merci pour vos aides

17 réponses

Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

OK donc je te conseille ça

Private Sub Workbook_Open()
Worksheets("Feuil1").Range("A1").Copy
Worksheets("Feuil2").Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
'Sélectionner la feuille Feuil2 afin de ne pas écrire sur Feuil1
Worksheets("Feuil2").select
'Masquer la feuille Feuil1
Worksheets("Feuil1").visible = false
End Sub
Normalement ça devrait marcher.

Tubafat
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

Où as tu écris la macro?

Tubafat
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

Bonjour,
il suffit de créer un évènement Workbook_Open() et de mettre dedans ta macro de copie de cellules.

Private Sub Workbook_Open()
'copier les valeurs de la feuille B dans la feuille A
End Sub



Tubafat
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008

salut

je n'ai aucune macro de copie de cellule, je l'ai fais case par case ('fueilleB'!A1='feuilleA'!A1). si par macro est plus simple je te prie de montrer comment faire.

merci
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

Si tu n'as pas de macro de copie de cellule c'est donc que tu l'as fait par des formules dans la feuille?

Si oui, tu seras obligé de passer par des macros si l'utilisateur modifie les cellules et les enregistre...

Petite précision: la mise en page et les données à récupérer sur la feuille A et la feuille B sont-elles les mêmes?

Tubafat
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008

C’est exactement ce que j’ai fais, j’ai passé par des
formules,


Ce que je veux moi, c’est de crée une feuille B à base de la
feuille A, c.-à-d. garder la même structure que j’ai dans <st1:personname productid="la A." w:st="on">la A.</st1:personname> puis j’aimerai faire des
modifications sur <st1:personname productid="la B" w:st="on">la B</st1:personname>
sans toucher la feuille A, mais une fois le classeur est fermé, quand je l’ouvre,
je veux revoir les même valeurs que j’ai dans <st1:personname productid="la A." w:st="on">la A.</st1:personname>



 

En gros la feuille B sera une feuille de test.
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

OK.
par exemple si tu veux copier de la feuille A vers la feuille B un tableau commençant en A1 et finissant en H30:

Private Sub Workbook_Open()
Worksheets("feuille A").Range("A1:H30").Copy
Worksheets("feuille B").Range("A1:H30").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End Sub

Si tu veux activer la feuille B pour modifier, rajoute:
Worksheets("feuille B").Select

Tu peux également masquer la feuille que tu ne veux pas voir modifiée (par exemple feuille A):
Worksheets("feuille B").Visible = False

Ces lignes sont à rajouter si besoin est avant le End Sub

Tubafat
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

Oups!

Tu peux également masquer la feuille que tu ne veux pas voir modifiée (par exemple feuille A):
Worksheets("feuille A").Visible = False

Désolé pour la coquille!

Tubafat
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008

Merci beaucoup Tubafat, j'ai pas encore copié ton code pour le tester mais je crois que ça va marcher ... merci encore
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

De rien mais n'oublie pas de cliquer réponse acceptée sur ce qui t'a aidé pour permettre à ceux qui cherchent le même genre de choses de s'y retrouver.

Tubafat
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008

désolé mais ça n'a pas marché, la copie c'est bien, j'ai le bon résultat, mais quand j'ouvre le classeur apres sauvegarde et fermeture biensur, je trouve dans B les dernieres valeurs modifées, pas ce que je souhaite faire c'est à dire initialiser la B automatiquement avec les données de la A
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

Pus tu mettre la macro que tu as écrite STP?

Tubafat
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008

c'est la même que tu as ecris :

Private Sub Workbook_Open()
Worksheets("Feuil1").Range("A1").Copy
Worksheets("Feuil2").Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End Sub

c'est pas comme ça ou quoi ??
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

Si, si enfin là tu copies juste la cellule A1, si c'est ce que tu souhaites c'est OK.

Pour récapituler pour voir si j'ai bien compris:
A l'ouverture du classeur tu veux:
- copier le données enregistrées sur la feuille 1 vers la feuille 2
- Modifier les infos sur la feuille 2

C'est là que j'ai un doute sur ce que tu veux faire:
- Enregistrer les données sur la feuille 2 et les sauvegarder sur la feuille 1???

Pour qu'en gros à la réouverture tu récupères les anciennes données???

Tubafat
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008

la case A1 c'est juste pour tester, sinon pour le reste, c'est ce que je veux faire, mais la modificition se fait juste au niveau de la feuille 2, apres je sauvegarde et je ferme le classeur, quand je le réouvre de nouveau, je veux que les valeurs de la feuille 2 soient les même de celles de la feuille 1, comme si j'ai rien fais, ni modification ni sauvegarde.

le but c'est de ne pas toucher à la feuile originale (feuille1), les tests et les modifs seront tous sur la feuille 2
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008

ça ne marche toujours pas
Messages postés
46
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
19 mai 2008

Je l’ai écris dans module1, mais quand j’ai vu ta question je
l’ai copié dans ThisWorkbook et ça a marché.





Merci infiniment tu m’as été d’une très grande utilité. Merci
beaucoup