VBA Si une cellule est modifiée alors code se réenclenche automatiquement HELP

Maxtincel

XLDnaute Nouveau
Bonjour,

J'implore votre aide, je bosse sur le sujet depuis plusieurs jours sans réussite...

Je suis en train de créer un fichier qui me permet et permettra à d'autres personnes de faire des états des lieux d'appartements sur excel (avec une tablette, ipad lors du rendez-vous).
Il y a plusieurs Feuilles dans le fichier excel.
J'ai rédigé une ligne de code qui permet de copier le contenu de plusieurs feuilles sur une même page (la feuil1) qui contiendra les infos de toutes les autres feuilles. Voici le code :
" Sub Module3()
Feuil14.Range("A1:E17").Copy Feuil1.Range("A3")
End Sub"
Et le même code recopié pour toutes les feuilles avec le numéro de feuille modifié....

Sauf que quand le contenu d'une cellule a changé dans la feuille 14, le contenu copié dans la feuille 1 ne se modifie pas automatiquement, il faut que j'aille dans VBA réactiver le code ....

Pourriez-vous m'aider en me donnant la formule qui permettra la modification automatique dans la feuille 1 si le le contenu des cellules des autres feuilles viendraient à être modifié s'il vous plait ?

Voici ci-joint le fichier pour une meilleure compréhension, merci d'avance à tous ceux qui m'aideront. Je m'y connais pas en Excel mais je peux vous dépanner sur le sujet de l'immobilier :)
Maxime Le Roux
 

Pièces jointes

  • etat des lieux.xlsm
    366.5 KB · Affichages: 15
Solution
Re Bonsoir Maxtincel , le Forum

Oui tu as du boulot mais bon ce sera fait qu'une seule fois si tu as bien formatté ta "Feuil1" comme il faut (et les les sous Feuilles aussi)

Pour que ca devienne automatique sans utiliser le bouton, il faut aller dans le Private Module de la Feuil1 et tu y verras ce code tout simple

VB:
Private Sub Worksheet_Activate()
Refresh
End Sub

A la simple activation de cette feuil1, la Sub "Refresh" se déclenchera.

Bon courage
@+Thierry

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @Maxtincel , Forum

J'ai l'impression de ne rien comprendre même avec le fichier sous les yeux !
Quelle est la finalité de ce projet ?

A l'heure actuelle je déduis que pour des raisons d'ergonomie lors de l'usage en déplacement sur Tablette ou iPad tu veux tout regrouper sur la Feuil1, est-ce exact ?

Par conséquent, je ne vois pas vraiment le besoin de macro, si tu prépares bien ta Feuil1 avec des simple "=" dans chaque case ?

Capture.JPG



Ou bien je n'ai pas compris quelque chose ?

Bien à toi, à vous
@+Thierry
 

Maxtincel

XLDnaute Nouveau
Merci pour ton commentaire Thierry. La finalité de ce projet c'est que la feuille1 soit le récapitulatif de toutes les feuilles.

Je ne veux justement pas mettre de formule "=" car on fait facilement de fausses manipulations sur tablettes et le "=" pourrait se supprime aisément ce qui obligerait l'utilisateur à retaper la formule...

Le code VBA permet d'empêcher ce genre de problème ...
 
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @Maxtincel , le Forum

Voici une première approche, mais c'est assez fastidieux pour rédiger le code, il va te falloir de la patience, car rien n'est vraiment structuré selon les onglets... En fait il manque une vraie feuille "base de données"
J'ai commencé dans le module "ModuleThierry" ... Je te laisse continuer ...

J'ai mis un bouton "Refresh" mais on peut aussi assigner la Sub Refresh a un Trigger sur l'évenement sheet activate ou autre, pour qu'il n'y ait pas besoin du bouton...

Je te laisse voir...

Bien à toi, à vous
@+Thierry
 

Pièces jointes

  • XLD_Maxtincel_etat_des_lieux_v01.xlsm
    374.4 KB · Affichages: 6

Maxtincel

XLDnaute Nouveau
Oui j'ai un peu de boulot:rolleyes:
Un grand merci pour ton codage, j'avais commencé différemment en copiant les plages de cellules entières...

Ouiiii le top serait de ne pas devoir cliquer sur un bouton pour refresh automatiquement les cellules modifiées...
Pourrais-tu m'écrire le code "assignation Sub Refresh a un trigger sur l’événement sheet activate" s'il te plait ? Je t'avoue que je ne vois pas comment coder ça ...
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonsoir Maxtincel , le Forum

Oui tu as du boulot mais bon ce sera fait qu'une seule fois si tu as bien formatté ta "Feuil1" comme il faut (et les les sous Feuilles aussi)

Pour que ca devienne automatique sans utiliser le bouton, il faut aller dans le Private Module de la Feuil1 et tu y verras ce code tout simple

VB:
Private Sub Worksheet_Activate()
Refresh
End Sub

A la simple activation de cette feuil1, la Sub "Refresh" se déclenchera.

Bon courage
@+Thierry
 

Pièces jointes

  • XLD_Maxtincel_etat_des_lieux_v02.xlsm
    374.6 KB · Affichages: 4

Discussions similaires

Réponses
2
Affichages
554
Réponses
6
Affichages
351

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 870
dernier inscrit
Dethomas