Erreur 1004 VBA erreur définie par l'application ou par l'ob

Bonjour,

J'ai une erreur de type 1004 dans mon programme mais je ne comprends pas d’où vient l'erreur.

Voici mon code:

Private Sub CommandButton1_Click()

Dim objFeuille As Worksheet, objFeuille1 As Worksheet, objFeuille2 As Worksheet
Set objFeuille = Sheets("Checklist_evaluation")
Set objFeuille1 = Sheets("Numero_audit_produit")
Set objFeuille2 = Sheets("Numero_audit_requalification")

If ComboBox1 = "" Or ComboBox2 = "" Or ComboBox3 = "" Or ComboBox4 = "" Or TextBox1 = "" Then

MsgBox ("Merci de saisir toutes les données")

Else

objFeuille.Activate

objFeuille.Range("I12:I114") = ""
objFeuille.Range("C5") = ""
objFeuille.Range("E5") = ""
objFeuille.Range("D5") = ""
objFeuille.Range("C7") = ""
objFeuille.Range("D7") = ""

typeaudit = ComboBox1.Text
designation = ComboBox2.Text
couleur = ComboBox3.Text
auditeur = ComboBox4.Text
numeropiece = TextBox1.Text

objFeuille.Range("C5") = numeropiece
objFeuille.Range("E5") = typeaudit
objFeuille.Range("D5") = designation
objFeuille.Range("C7") = couleur
objFeuille.Range("D7") = auditeur

If typeaudit = "AUDIT PRODUIT" Then

objFeuille1.Activate

objFeuille1.Range("D:D").End(xlDown).Offset(1, 0).Value = numeropiece
objFeuille1.Range("E:E").End(xlDown).Offset(1, 0).Value = designation
objFeuille1.Range("F:F").End(xlDown).Offset(1, 0).Value = couleur
objFeuille1.Range("H:H").End(xlDown).Offset(1, 0).Value = Date

MsgBox ("Fait")

Dim numerorapport1 As String
numerorapport1 = objFeuille1.Range("G:G").End(xlDown).Value

objFeuille.Range("E7") = numerorapport1

End If

If typeaudit = "AUDIT REQUALIFICATION" Then

objFeuille2.Activate

objFeuille2.Range("D:D").End(xlDown).Offset(1, 0).Value = numeropiece
objFeuille2.Range("E:E").End(xlDown).Offset(1, 0).Value = designation
objFeuille2.Range("F:F").End(xlDown).Offset(1, 0).Value = couleur
objFeuille2.Range("H:H").End(xlDown).Offset(1, 0).Value = Date

MsgBox ("Fait")

Dim numerorapport2 As String
numerorapport2 = objFeuille2.Range("G:G").End(xlDown).Value

objFeuille.Range("E7") = numerorapport2

End If

End If

Unload UserForm1

End Sub

L'erreur a lieu sur cette ligne:

objFeuille1.Range("D:D").End(xlDown).Offset(1, 0).Value = numeropiece

Merci de votre aide

Bonjour et bienvenue sur le forum

Il faudrait pouvoir tester la macro avec le fichier, même rendu anonyme, car apparemment il y a des instructions incorrectes.

Bye !

Bonjour,

Je vous joint mon fichier excel, j'ai enlevé les données sensible.

Merci d'avance

Cordialement

Bonjour,

Remplace xlDown par xlUp.

Cordialement.

Bonjour,

J'ai remplacé la mon xldown par xlup et mon problème a été résolue.

Merci beaucoup

Par contre j'ai un autre soucis:

1) Mon programme ajoute bien les données dans la dernière ligne non vide la première fois mais lorsque j'ajoute une deuxième ligne, il efface les données de la première

Quelqu'un peut-il m'aider?

Cordialement

Indique où cela se passe, car ton code non indenté et qui ne respecte pas les règles d'écriture... n'est pas du tout drôle à lire !

Voici où se déroule l'action:

objFeuille1.Range("D:D").End(xlDown).Offset(1, 0).Value = numeropiece

objFeuille1.Range("E:E").End(xlDown).Offset(1, 0).Value = designation

objFeuille1.Range("F:F").End(xlDown).Offset(1, 0).Value = couleur

objFeuille1.Range("H:H").End(xlDown).Offset(1, 0).Value = Date

Normalement, il devrait copier la valeur dans la dernière ligne vide de la colonne designee mais il réécrit toujours dans la deuxième comme si la première était vide.

J'avais conseillé de remplacer xlDown par xlUp !

J'ai modifié mais je n'ai pas envoyé la bonne version:

objFeuille1.Range("D:D").End(xlUp).Offset(1, 0).Value = numeropiece

objFeuille1.Range("E:E").End(xlUp).Offset(1, 0).Value = designation

objFeuille1.Range("F:F").End(xlUp).Offset(1, 0).Value = couleur

objFeuille1.Range("H:H").End(xlUp).Offset(1, 0).Value = Date

Voici la bonne version

Après test, ce sont tes adressages de Range qui ne conviennent pas. Rectifier tout en :

objFeuille1.Range("D" & Rows.Count).End(xlUp).Offset(1, 0).Value =...

Merci bien, le programme fonctionne correctement.

Bonne journée


Je joint la dernière version du fichier si cela peut aider quelqu'un

Rechercher des sujets similaires à "erreur 1004 vba definie application"