Initialisation d'une fueille par les données d'une autre

Résolu
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008 - 4 sept. 2007 à 13:32
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008 - 4 sept. 2007 à 15:30
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

tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 15:11
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
3
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 15:24
Où as tu écris la macro?

Tubafat
3
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 13:41
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
0
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008
4 sept. 2007 à 13:43
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 13:50
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
0
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008
4 sept. 2007 à 13:57
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.
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 14:18
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
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 14:27
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
0
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008
4 sept. 2007 à 14:31
Merci beaucoup Tubafat, j'ai pas encore copié ton code pour le tester mais je crois que ça va marcher ... merci encore
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 14:38
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
0
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008
4 sept. 2007 à 14:44
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
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 14:50
Pus tu mettre la macro que tu as écrite STP?

Tubafat
0
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008
4 sept. 2007 à 14:54
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 ??
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 14:59
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
0
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008
4 sept. 2007 à 15:08
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
0
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008
4 sept. 2007 à 15:19
ça ne marche toujours pas
0
benlac_o Messages postés 46 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 19 mai 2008
4 sept. 2007 à 15:30
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
0
Rejoignez-nous