Macro d'horodatage conditionnelle

olive75 -  
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je cherche à réaliser un horodatage sous excel 2003 pour savoir dans quel ordre des données sont saisies.
Je fais une macro nommée horodatage, enregistree dans le classeur PERSONAL.XLB, qui peut se lancer par un raccourci.
Mais je voudrais que la macro se lance toute seule et colle le resultat si sur une plage définie (par exemple B2:B20) une donnée est saisie.
Par exemple, si je saisi "bibi" en cellule B4, je voudrais que la macro se lance et colle en H4 la date et l'heure. Si après je saisi "toto" en B8, il faudra un résultat en H8.

Le plus simple serait un =si(B4<>0;lancer-ma-macro;).
C'est possible ?

Je suis pas très doué en VB, en fait...
A voir également:

1 réponse

Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
Bonjour,
ce que tu peux faire, c'est utiliser une procédure événementielle. Par exemple, la macro ci-dessous s'exécute à chaque changement dans ta feuille (restriction à la plage B2:B20) :
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B2:B20")) Is Nothing Then
        Cells(Target.Row, 8).Value = Now
    End If
End Sub

Pour l'utiliser, clique droit sur l'onglet de la feuille concernée / Visualiser le code, puis colle ce code dans la page blanche.
Ca nécessite bien sûr qu'à l'ouverture de ton fichier, tu autorises l'exécution des macros.
A suivre...
0