bonjour,
J'ai trouvé ce code qui permet, lorsqu'on saisit un nom d'utilisateur en colonne A, permet d'afficher automatiquement la date et l'heure de la saisie...
Cependant afin d'eviter de saisir à chaque fois les noms d'utilisateurs, j'ai crée une liste déroulante comportant l'ensemble des utilisateurs.
Et là ca coince, car la date et l'heure de la saisie ne s'affiche plus...
Pourriez vous m'aider car je n'y connais rien en VBA
D'avance merci... ci joint le code Sub auto_open()
ActiveWorkbook.Worksheets("feuil1").OnEntry = "ecrit_date"
End Sub
Sub ecrit_date()
If ActiveCell.Column = 1 And ActiveCell.Offset(0, 1) = "" Then
ActiveCell.Offset(0, 1).Value = Now
End If
End Sub
Merci pour ta réponse,
Malgré tout, cela ne fonctionne pas.
Mais comme je l'ai déjà dit, je n'y connais rien.
Donc voilà ce que j'ai fait:
- dans Virtual Basic editor -> fenêtre projets -> Modules -> Module 1, j'ai supprimé le code "auto open" ( de Sub à End Sub)
- il reste toujours le code Ecrit_date dans le module 1
- ensuite copié-collé du code que tu m'as donné dans la fenêtre projets -> Microsoft Excel Objets -> ThisWorkbook.
- puis Sauvegardé.
Quand je choisis un élément de ma liste de choix colonne A, les dates et heures ne s'affichent toujours pas colonne B.
Peux-tu me dire ce que j'ai mal fait ?
Merci d'avance.
Jhala
Merci pour ton exemple mais sauf erreur de ma part, la date n'est pas saisie après avoir sélectionné un produit en colonne A.
Peux-tu vérifier de ton côté ?
Encore une fois, merci d'avance.
Tu dois commettre une erreur de manipulation car la proposition de Bruno est fiable.
Autre exemple, clic bouton droit sur le nom de l'onglet puis Visualiser le code. Copie cette évènementielle :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Row = 1 Then Exit Sub
If Target.Column = 1 Then
Target.Offset(, 1) = IIf(Target = "", "", Now)
End If
End Sub
remarques : elle n'est opérationnelle que dans l'onglet choisi ; si une cellule "produit" est vidée, la cellule "date" l'est aussi. Pour garder quand même la date, remplace IIf(Target = "", "", Now) par Now.
Merci BrunoM45,
Ton exemple fonctionne.
Du moins, sur le PC de mon boulot avec Excel 2002.
Sur mon Mac avec Excel 2004, ça ne fonctionne pas mais ce n'est pas grave car c'est sur PC que je vais l'utiliser.
Il ne me reste plus qu'à me renseigner un peu sur le VBA, histoire de ne pas mourir idiot.
Si vous connaissez des bouquins qui pourrait m'aider, je suis preneur.