Macro sur changement de feuille

Bonjour

Je suis actuellement en train de créer un tableau excel de plannings pour ma boite. J'ai pratiquement fini mais il me manque une macro.

En fait chaque feuille du fichier représente 1 semaine. Ce que je souhaiterais c'est que lorsque l'utilisateur change de feuille (et donc de semaine) une macro se déclenche et vérifie que les données de A6:C20 (par ex) de la feuille que l'utilisateur quitte n'ont pas été modifiées. Si elles sont inchangées, la macro se stoppe mais si elles sont différentes, la macro copie l'ensemble du tableau a6:c20 sur la feuille suivante.

Je ne sais pas si c'est super clair mais merci pour toute l'aide que vous pourriez me fournir

Salut,

Pour déclencher un code lorsque l'on quitte la feuille, il faut utiliser "Private Sub Worksheet_Deactivate()" dans le code de la feuille, selon l'exemple ci-joint. Pour le reste, tu te débrouilles ?

Cordialement

34classeur2.zip (7.65 Ko)

merci pour ta réponse rapide et pour la fonction

Malheureusement, je ne sais pas trop comment faire pour que la fonction ne se déclenche que lorsque une ou plusieurs cellules de a6:c20 ont été modifiées

Ne devrais je pas essayer d'utiliser Worksheet_Change (ByVal Target As Range) ?

Bonsoir

Avoir une base pour faire des tests serait souhaitable

Pas de soucis

Voila avec un tableau

les données A6:C20 de semaine1 et de semaine2 sont identiques

Ce que je souhaiterais, c'est que si je change une ou plusieurs données du tableau se trouvant sur semaine1, excel compare semaine1 et semaine2 et m'indique qu'il y a eu un changement et il faut que la comparaison soit faite lorsque je change de feuille.

Merki

21test.xls (15.50 Ko)

Bonsoir

Quel est le problème ?

Au départ

Si une modification dans Feuille1 on copie de Feuille1 vers Feuille2

Maintenant

On compare Feuille1 et Feuille 2, on ne copie plus

J'attends une autre version ou celle-ci est la bonne ?

oui pardon

je fais plusieurs trucs en mm tps et je me mélange un peu

la bonne version est

si une modification dans a6:c20 dans feuille1 on copie a6:c20 de feuille1 vers feuille 2

Bonsoir

Pourquoi s'embêter on copie chaque fois

Dis moi ce que tu en penses ?

Et que se passe t'il si on part de Feuille2 et on va vers Feuille1 ?

La même chose ?

Non en fait il faut que le copiage du tableau se fasse de feuille1 vers feuille2, feuille2 devra comparer son tableau avec feuille3, feuille3 avec feuille4 etc

le gros problème est que le fichier final pourrait avoir plusieurs 10aines de pages, que le tableau qui doit être copié est bcp plus gros que dans mon exemple et que si on modifie qq chose en page 5, toutes les pages suivantes jusqu'à la derniere doivent être modifiée en conséquence.

Donc si on copie le tableau à chaque fois que l'on passe d'une feuille à l'autre, j'ai peur que cela ralentisse l'ensemble mais je me trompe pt etre.

Bonsoir

Si je comprends bien

Une modification dans la page 1 : Le tableau de la page 1 sera copié dans toutes les pages suivantes dès que tu quitteras la page 1

Si une modification dans la page 8 : La page 8 sera copiée dans la page 9, 10, 11 etc.....

Si c'est ça il faut que tes feuilles soient dans l'ordre


Bonsoir

La macro est faite dans le sens que j'ai indiqué

A vérifier

malheureusement c'est beaucoup plus compliqué que cela

je préfère que l'on en reste à mon fichier exemple sinon ça va être vraiment très difficile à expliquer et à comprendre. De plus je pense être capable de m'occuper du reste si j'ai les bonnes bases pour la formule

Donc en gros, si une modification dans a6:c20 dans feuille1; lorsque l'on part de feuille1 on copie a6:c20 de feuille1 vers feuille 2


je n'avais pas vu que tu avais déjà joint un fichier, je le regarde tout de suite

merci à toi cela me semble très prometteur

au vu de ta formule j'avoue que mes maigres connaissances en excel risquent de me porter prejudice pour l'adapter à mon fichier : /

En fait il faudrait que excel compare disons A6:C20 de feuille1 à A106:C120 de feuille2.

Sur feuille 2, il y a aussi un tableau en A6:c20 mais celui ci est calculé en fonction de A106:c120

Il faut donc que les modifs de A6:c20 feuille 1 soient copiés sur A106:c120 de feuille 2 , (A6:c20 feuille 2 sera modifié automatiquement grâce aux formules excel qu'il contient).

Ensuite A6:C20 feuille 2 devra etre copié sur a106:c120 feuille 3, et ainsi de suite jusqu'à la dernière feuille.

je sais que j'aurais pu demander cela dès le départ mais je ne voulais pas trop compliquer les choses.

je viens aussi de me rendre compte que ta formule copiait le tableau de feuille1 à feuille2 quelle que soient les modifs, même si elles sont en dehors de a6:c20. Or il est important que excel ne prenne en compte que les données de a6:c20 et aucune autre

laisse tomber mon précèdent message. Autant que la formule concerne n'importe quel changement sur feuille1, ca sera plus simple

Bonjour

Il faut être clair et bien définir le problème, parce que là on part dans tous les sens

Tu as demandé une macro qui se déclenche lors du changement de feuille, qui copie les données de Feuille1 vers Feuille2 si une modification est faite sur feuille1

Maintenant, contrairement à ton fichier, on ne copie plus aux mêmes emplacements

De A6:C20 vers A106:C120 : Pas de problème mais il faut le savoir

Il faut que la modification ait lieu dans la zone A6:A20 : Là il y a un problème

Car tu dis que cette zone est actualisée par les données en A106:C120

Donc dans la Feuille1, on peut modifier A6:C20 (car pas de formule) ?

Mais dans les autres feuilles on ne peut modifier que le tableau A106:C120 ?

Pour avancer, joins un fichier représentatif de ton fichier réel, si tu veux que je continue

Sebou a écrit :

En fait il faudrait que excel compare disons A6:C20 de feuille1 à A106:C120 de feuille2.

Il n'y a aucune comparaison : Juste savoir si une modification (c'est la demande)

Pas de soucis

on redéfinit le problème avec un nouveau fichier

On a sur la première page du fichier TableauA feuil1.

Si des modifications sont faites sur feuil1, TableauA feuil1 est copié sur TableauB feuill2.

TableauA feuil2 est copié sur TableauB feuil3, TableauA feuil3 est copié sur tableauB feuil4 et ainsi de suite jusqu'à la derniere feuille

Si des modifs sont faites sur feuil3, TableauA feuil3 est copié sur TableauB feuil4 et ainsi de suite jusqu'à la dernière feuille mais les feuilles se trouvant avant feuil3 ne sont pas impactés.

Ca m'a l'air plus simple à comprendre

12test.xlsx (13.21 Ko)

Bonjour

A vérifier

merci pour ton fichier, je ne pourrai pas encore le tester avant de reprendre le taff jeudi, je te tiens au courant

Je viens de passer 1 h à comprendre la logique de ta macro, je l'ai un peu modifiée et elle marche nickel

Un grand merci à toi

Rechercher des sujets similaires à "macro changement feuille"