Rechercher : dans
Par :

[EXCEL] VBA insertion date modif de feuille

Dernière réponse le 31 mar 2009 à 12:28:06 danny_coccinnelle, le 30 jui 2007 à 22:33:14 
 Signaler ce message aux modérateurs

Bonjour,

J'essais d'insérer une macro VBA qui me permettrais d'afficher la date des dernières modifications effectuées dans une feuille en particulier d'un classeur Excel qui en contient trois.

J'ai essayé ceci :

Dans This Workbook, place :
Dim modif As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets("Feuil1").Range("A1").Value = "Dernière Révision le " & Format(Date, "dd/mm/yyyy")
End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
modif = True
End Sub

Mais rien ne fonctionne dans mon fichier.

Merci

Configuration: Windows XP
Internet Explorer 6.0

1

zefoots, le 30 jui 2007 à 23:31:17

Salut,

j'y connais pas grand chose en VBA (seulement en VB tout court), mais je pense qu'il faut enregistrer le fichier pour que les modifications soient gardées.

Répondre à zefoots

2

Papou93, le 31 jui 2007 à 16:09:51

Bonjour danny_coccinnelle,

C'est un problème de portée de variable :

Remplaces 'Dim modif as boolean' par 'Public modif as boolean'.

Le mieux est de placer cette instruction dans la section (General) d'un module de code.

Espérant avoir répondu.

Cordialement.

Répondre à Papou93

3

danny_coccinnelle, le 31 jui 2007 à 17:48:03

Je vous remercie pour vos conseils, mais ça ne fonctionne pas plus.

J'ai aussi essayé deux options :

- Placer les intructions dans My Woorkbook
- Placer les instructions dans Feuil2 (qui est celle où devrait apparaître ma fonction)

À chaque fois je précise ceci dans mes instructions :

Sheets("Feuil2").Range("O1").Value = "Dernière Révision le " & Format(Date, "dd/mm/yyyy")
End If
End Sub

Pour que ma fonction apparaisse dans la cellule O1 de la feuille 2.

J'ai déjà appris un peu le VBA, mais très brièvement. Est-ce qu'il existe un lexique de la terminologie VBA? Ce serait sûrement utile pour mon apprentissage.

Gros merci à l'avance pour ceux qui me répondront!!

Répondre à danny_coccinnelle

4

danny_coccinnelle, le 31 jui 2007 à 18:53:56

Hey! Hey!

J'ai finis par trouver la solution en placotant avec des amis qui travaillent en infos aussi.

Voici donc le VBA que je cherchais :

Dim modif As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets("Nom de la feuille").Range("A1").Value = "Dernière Révision le " & Format(Date, "dd/mm/yyyy") & Format(Time, "hh:mm:ss")


End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
modif = True
End Sub


Bonne journée

Répondre à danny_coccinnelle

5

aredi, le 14 jan 2008 à 11:00:26

Bonjour,

Je rebondis sur votre message car je voudrais insérer automatiquement la date de modification dans une cellule de mon classeur (ce qui me semble avoir été votre problématique de départ !).

J'ai essayé la formule que vous proposez, ainsi que d'autres, mais rien à faire, ça ne marche pas.

Pourriez-vous me décrire la procédure pas à pas ? Il y a certainement qqch que je ne fais pas "bien" mais comme je n'y connais rien en VBA (ou même en macro sous excel), je n'y arrive pas...

D'avance merci.

Répondre à aredi

6

Tolum, le 5 fév 2008 à 14:35:32

Cela m'intéresse aussi.

Merci beaucoup pour votre aide précieuse

Répondre à Tolum

7

 micka0+8, le 31 mar 2009 à 12:28:06
  • +1

Bonjour, j'aimaerais appliquer cette formule mais sur plusieurs feuilles dans le même classeur???

Merci d'avance pour vos astuces...

Répondre à micka0+8
Collection CommentÇaMarche.net