Classeur archivage avec code Erreur d'exécution 1004

bonjour.

je suis débutant en VBA et j'aimerais résoudre un problème d'erreur voir mortifiée toutalement mon programme si besoin.

je veut créer un classeur pour noté les dépenses par jour de mon entreprise, je veut que chaque jour en l'absence le fichier il met a jour tout seul le fichier (pour des questions de droit je peut pas fournir la premier partie du code et j'ai simplifié le fichier avec des valeurs fixe). Je veut que dans ma colonne p soit écrit la date du jour que je récupère dans D2 et puis sur la suite de la ligne soit écrit la somme

sertisage D7, Rg D8, doille D9 et DM D10. Puis le jour suivant dessandre d'une ligne et écrire les nouvelles valeur. Et je vérifie avec la cellule E2 que que je fait pas deux archivage a la jour

niveau récupération des données il n'y a pas de problème mais plus du côté archivage

quand je lance le programme j'ai l'erreur 1004 qui s'affiche

Sub auto_open()

Dim ligne As Long
Dim sertisagesomme As String
Dim RGsomme As String
Dim Douillesomme As String
Dim Dmsomme As String
Dim datedate As String

If Range("D2") = Range("E2") Then

Range("C3") = 1

Else

ligne = Range("P:P").End(xlDown).Row + 1
datedate = Worksheets("Top").Range("D2")
sertisagesomme = Worksheets("Top").Range("D7")
RGsomme = Worksheets("Top").Range("D8")
Douillesomme = Worksheets("Top").Range("D9")
Dmsomme = Worksheets("Top").Range("D10")

Range("P" & ligne) = datedate    ' l'erreur 1004 arrivé ici
Range("Q" & ligne) = Sertisage
Range("R" & ligne) = RGsomme
Range("S" & ligne) = Douillesomme
Range("T" & ligne) = Dmsomme

End If

End Sub
9archive.xlsm (203.28 Ko)

est-ce que quelqu'un pourrait m'aider

cordialment

Bonjour,

Je corrigerai ainsi.

Sub auto_open()

Dim ligne As Long
Dim sertisagesomme As String
Dim RGsomme As String
Dim Douillesomme As String
Dim Dmsomme As String
Dim datedate As Date   ' DECLARATION VARIABLE DATE

If Range("D2") = Range("E2") Then

Range("C3") = 1

Else

ligne = Range("P99999").End(xlUp).Row + 1  'RECHERCHE DERNIERE CELLULE VIDE COLONNE P
datedate = Worksheets("Top").Range("D2").Value
sertisagesomme = Worksheets("Top").Range("D7")
RGsomme = Worksheets("Top").Range("D8")
Douillesomme = Worksheets("Top").Range("D9")
Dmsomme = Worksheets("Top").Range("D10")

Range("P" & ligne) = datedate
Range("Q" & ligne) = Sertisage
Range("R" & ligne) = RGsomme
Range("S" & ligne) = Douillesomme
Range("T" & ligne) = Dmsomme
End If

Bonjour

Modifiez votre fichier comme suit :

- Dans le module remplacez votre code par celui-ci

Sub miseajour()
Dim ligne As Long

With Worksheets("Top")
    If .Range("D2") = .Range("E2") Then
        .Range("C3") = 1
    Else
        ligne = .Range("P:P").End(xlUp).Row + 1
        .Range("P" & ligne) = .Range("D2")
        .Range("Q" & ligne) = .Range("D7")
        .Range("R" & ligne) = .Range("D8")
        .Range("S" & ligne) = .Range("D9")
        .Range("T" & ligne) = .Range("D10")
    End If
End With
End Sub

- Allez dans THISWORBOOK, mettez ce code

Private Sub Workbook_Open()
Call miseajour
End Sub

Cordialement

merci beaucoup Xmenpl et Dan. Mon problème et résolution et en plus dans la même simple. Merci beaucoup vous êtes géniaux.

Rechercher des sujets similaires à "classeur archivage code erreur execution 1004"