Besoin d'aide!

tibogl Messages postés 42 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 25 avril 2006 - 4 août 2005 à 17:41
Motoreador Messages postés 2 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 4 août 2005 - 4 août 2005 à 18:38
Bonjour,
je souhaiterais créer une macro qui lors de la sauvegarde du fichier, inscrit sur une feuille les modifications qui ont été faites au fichier depuis la sauvegarde précédente.Si les modification ne peuvent pas etre énumérées, juste énumérer les onglets ayant été modifiés pourrait etre suffisant.

Est-ce possible?
Si oui pourriez vous me dire comment?
Merci d'avance

9 réponses

florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
4 août 2005 à 17:51
Bonjour,

Sur l'évènement "Open" de ton workbook, tu garde dans une variable publique la liste de tes sheets, puis à l'évènement "Before save" tu la compare avec ceux présent.
0
tibogl Messages postés 42 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 25 avril 2006
4 août 2005 à 18:02
ouia mais cela me dira seulement si un onglet a été supprimé ou ajouté, pas si il a été modifié si?
0
florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
4 août 2005 à 18:05
Ah ok, j'avais mal pigé.
Utilise l'évènement "SheetChange" du workbook. Il est déclenché dès que qqchose est modifié dans un onglet.
0
tibogl Messages postés 42 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 25 avril 2006
4 août 2005 à 18:08
comment je l'utilise? je n'ai jamais utilisé ce genre de chose auparavant...
0

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

Posez votre question
florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
4 août 2005 à 18:13
Ah ba évidemment, il faut savoir coder en VBA
Quand tu vas dans l'éditeur de code, il y a, dans l'explorateur de projet, la liste de tes classeur. Pour chacun d'entre eux il y a la liste des feuilles et un élément nommé "ThiWorkBook". Tu double click dessus. Ensuite au dessus de lapage où on code, il y a deux listes déroulantes. Dans celle de gauche, tu sélectionne "Workbook". Dans celle de droite, tu sélectionne "SheetChange". Cela te génèrera le cadre de ton évènement. Après, à toi de coder à l'intérieur...
0
tibogl Messages postés 42 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 25 avril 2006
4 août 2005 à 18:17
Merci je vais tacher de faire ca.Si j'ai bien compris, je ne pourrais pas savoir si la page a été modifiée, je saurais simplement qu'elle a été modifiée c 'est bien ca?
0
florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
4 août 2005 à 18:21
voilà la ligne d'en-tête de cet évènement:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)



Comme tu peux le voir elle t'envoie 2 variable:

-sh t'envoie une référence à l'objet Sheet qui a été modifié, donc tu peux retrouver son nom avec sa propriété name.
-Target te renvoie une référence vers un objet range qui représente la(les) cellule(s) en cours de modification.

Tu sais donc exactement ce qui est en cours de modif.
0
tibogl Messages postés 42 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 25 avril 2006
4 août 2005 à 18:25
Merci
0
Motoreador Messages postés 2 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 4 août 2005
4 août 2005 à 18:38
gestion d'une base de données avec vb.net et jsais pas par ou commencer ni ce dont jaurai besoin
0
Rejoignez-nous