Enregistrement date d'action

Bonjour à tous,

J'ai un fichier Excel afin d'effectuer des inventaires. j'aimerais ajouter une fonction permettant d'enregistrer la date à chaque inventaire afin d'avoir un historique des réalisations.

Grosso modo quand je clique sur un bouton ça enregistre la date (Celle A2 de l'onglet "inventaire") dans un onglet à part (Historique Date en cellule "A1") et décale à chaque fois d'une ligne afin de ne pas écraser les dates précédentes. Voici mon code :

"Sub Historique_Date()

Sheets("Inventaire").Select

Range("A2").Copy

Sheets("Historique Date").Select

If Range("A1") = "" Then

Range("A1").PasteSpecial

Else

Sheets("Inventaire").Select

Range("A2").Copy

Sheets("Historique Date").Select

Range("A1").Cells(Application.Rows.Count, 0).End(x1Down).Offset(1, 0) = Range("A2").PasteSpecial

End If

Sheets("Inventaire").Select

End Sub"

Seulement quand je simule j'ai une erreur 1004 sur la ligne surlignée et je n'arrive pas à trouver ma boulette.

A noter que j'appel cette macro dans celle de clique sur le bouton.

Si quelqu'un voit un moyen de m'aiguiller je suis preneur.

Merci à tous.

Bonjour

Joins ton fichier et on te regardera ça !

Bye !

Bonjour gmb,

Merci pour ta réponse, je te joins le fichier.

Comme tu le verra lors du premier clique sur le bouton ça enregistre bien la date dans la première case mais dès le deuxième appui, quand ça doit décaler l'enregistrement d'une case, ça se met en erreur.

Merci pour ton aide.

6stock-test.xlsm (28.96 Ko)

Bonjour,

Salut gmb

Dans ta ligne de code surlignée, au niveau du xLDown, le "l" est un "1"

Par ailleurs, en élaguant un peu ton code, ceci devrait suffire:

Sub Historique_Date()
    maDate = Sheets("Inventaire").Range("A2")
    If Sheets("Historique Date").Range("A1") = "" Then
        Sheets("Historique Date").Range("A1") = maDate
    Else
        Sheets("Historique Date").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = maDate
    End If
End Sub

... code qu'on pourrait encore "condenser" un peu

Bonjour U.Milité,

Merci pour ta réponse, le code proposé fonctionne parfaitement tout en étant plus clair.

Je débute en VBA, en autodidacte, ainsi je suis conscient que je code de manière assez lourde en détaillant beaucoup pour m'y retrouver.

En tout cas merci pour cet exemple de code plus léger et condensé, ça me permets d'apprendre des logiques plus digeste.

Bonne journée à tous et encore merci.

Rechercher des sujets similaires à "enregistrement date action"