Erreur dexecution 1004

Bonjour,

J'ai une erreur dans le code ci dessous:

Private Sub TextBox1_Change()
'Code permettant de mettre une date au format 00/00/00 dans une textbox
Dim valeur As Byte
TextBox1.MaxLength = 8 'nb caractères maxi autorisé dans le textbox
valeur = Len(TextBox1)

If valeur = 2 Or valeur = 5 Then TextBox1 = TextBox1 & "/"

End Sub

Private Sub CommandButton1_Click()

date1 = CDate(TextBox1.Value)
lastcol = Worksheets("V5feuilleabats").Range("E3").End(xlToLeft).Column
For k = 4 To lastcol
    If date1 = Cells(3, k).Value Then
    Column = k
MsgBox Column
    End If
Next k

If ComboBox1.Value = "Gesiers" Then
lastligne = Worksheets("V5feuilleabats").Range("D44").End(xlUp).Row
    'MsgBox lastligne
For i = 30 To lastligne
    If ComboBox2.Value = Sheets("V5feuilleabats").Range("D" & i).Value Then
    ligne = Sheets("V5feuilleabats").Range("D" & i).Row
    End If

Next i
col = Column
Worksheets("V5feuilleabats").Cells(ligne, col).Value = CDbl(TextBox4.Value)
Else

End If

End Sub

le soucis est la ligne juste avant ELSE : Worksheets("V5feuilleabats").Cells(ligne, col).Value = CDbl(TextBox4.Value)

Merci de votre aide

Bonjour,

en règle générale sous VBA il faut éviter d'utiliser des nom de "fonction" ou "d'instruction" en nom de variable...

Donc à votre place, j'éviterais d'utiliser une variable avec le nom de column.

De plus vous écrivez column = k

et ensuite

col = column

Autant écrire directement col = k

Je ne sais si l'erreur vient de là, mais en tous cas cela rendra le code un peu plus propre

@ bientôt

LouReeD

Bonjour, Salut LouReed !

Une erreur 1004 est une erreur Excel... Je suppose donc que tu as dû en priorité vérifier les valeurs de ligne et col pour t'assurer qu'une cellule existante est ciblée.

Sinon il y a à vérifier que la conversion est possible (bien que cela devrait déclencher un autre type d'erreur).

Maréchal, bonjour !

Moi les numéros d'erreur je ne connais pas, je n'en provoque pas !

Mais que pensez vous de mon idée de nom de variable ? L'avis d'un expert me va très bien...

@ bientôt

LouReeD

Salut LouReed !

Comment fais-tu pour ne pas provoquer d'erreur ! ?

Ne pas utiliser de noms reprenant des mots-clefs du langage ! Mais tu as tout à fait raison de le mettre en avant, il faut absolument l'éviter !

Un petit nombre sont strictement interdits par VBA, mais pour autant il faut éviter aussi tout les autres, cela risque toujours de réserver des surprises...

Bonne après-midi !

Une des premières choses est de ne raconter que des vérités vraies...

Comme cela on évite les fausse !

Et après, c'est le talent !

@ bientôt

LouReeD

Bah ! Quelqu'un a dit qu'on apprenait plus de ses erreurs ! Il faut donc en faire beaucoup...

Oui, j'en ai fais !!!

Mais maintenant j'ai appris...

@ bientôt

LouReeD

Rechercher des sujets similaires à "erreur dexecution 1004"