Erreur d'execution 424 : Objet requis
Résolu
ThePlisskenism
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
j'ai un problème sur Excel, dans la programmation de mon fichier. J'ai cherché un peu partout sur le Net mais je n'ai pas trouvé réponse exacte à mon problème. Je vous explique :
J'ai un fichier qui me donne un listing de projets. Au bout du tableau, j'ai placé deux colonnes qui, lorsqu'on inscrit un "x" dans la case, transfère la ligne sur une autre feuille.
Pourquoi j'ai crée deux colonnes ? Pour transférer certaines lignes sur une feuille et d'autres sur une autre feuille.
Donc, vient mon problème, lorsque je tape "x" dans la première colonne, j'ai le message "erreur d'execution 424 : Objet requis"; alors que dans la deuxième colonne je ne l'ai pas. J'ai cvompris qu'il me manqué une instruction dans la deuxième partie du programme mais je ne vois pas laquelle.
Si quelqu'un avait une idée, ça me serait utile. Merci pour vos réponses. Je joints mon programmeci-dessous.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DerLigne As String
Dim i As Byte
If Target.Count = 1 Then
If Left(Target.Address, 3) = "$BD" _
And LCase(Target.Value) = "x" Then
With Sheets("Projets terminés")
i = Target.Offset(1, 0).Row - Target.Row
DerLigne = .Cells(.Columns(1).Cells.Count, "D").End(xlUp).Row + 1
' Cells(Target.Row, 1).Resize(i, 55).Copy Destination:=.Cells(DerLigne, 1)
Cells(Target.Row, 1).Resize(i, 55).Copy
'.Range("A" & .Columns(1).Cells.Count).End(xlUp) = Now
.Cells(DerLigne, 56).Value = ActiveSheet.Name
Feuil3.Activate
.Cells(DerLigne, 1).Select
'Feuil3.Paste (Cells(DerLigne, 1))
ActiveSheet.Paste
'Selection.Paste
Rows(Target.Row).Resize(i).Delete Shift:=xlUp
End With
End If
End If
'Sheets("Suivi des comptes").Cells(1, 1).Activate
If Target.Count = 1 Then
If Left(Target.Address, 3) = "$BF" _
And LCase(Target.Value) = "x" Then
With Sheets("Projets quitussables")
i = Target.Offset(1, 0).Row - Target.Row
DerLigne = .Cells(.Columns(1).Cells.Count, "D").End(xlUp).Row + 1
' Cells(Target.Row, 1).Resize(i, 55).Copy Destination:=.Cells(DerLigne, 1)
Cells(Target.Row, 1).Resize(i, 55).Copy
'.Range("A" & .Columns(1).Cells.Count).End(xlUp) = Now
.Cells(DerLigne, 56).Value = ActiveSheet.Name
Feuil4.Activate
.Cells(DerLigne, 1).Select
'Feuil4.Paste (Cells(DerLigne, 1))
ActiveSheet.Paste
'Selection.Paste
Rows(Target.Row).Resize(i).Delete Shift:=xlUp
End With
End If
End If
'Sheets("Suivi des comptes").Cells(1, 1).Activate
End Sub
j'ai un problème sur Excel, dans la programmation de mon fichier. J'ai cherché un peu partout sur le Net mais je n'ai pas trouvé réponse exacte à mon problème. Je vous explique :
J'ai un fichier qui me donne un listing de projets. Au bout du tableau, j'ai placé deux colonnes qui, lorsqu'on inscrit un "x" dans la case, transfère la ligne sur une autre feuille.
Pourquoi j'ai crée deux colonnes ? Pour transférer certaines lignes sur une feuille et d'autres sur une autre feuille.
Donc, vient mon problème, lorsque je tape "x" dans la première colonne, j'ai le message "erreur d'execution 424 : Objet requis"; alors que dans la deuxième colonne je ne l'ai pas. J'ai cvompris qu'il me manqué une instruction dans la deuxième partie du programme mais je ne vois pas laquelle.
Si quelqu'un avait une idée, ça me serait utile. Merci pour vos réponses. Je joints mon programmeci-dessous.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DerLigne As String
Dim i As Byte
If Target.Count = 1 Then
If Left(Target.Address, 3) = "$BD" _
And LCase(Target.Value) = "x" Then
With Sheets("Projets terminés")
i = Target.Offset(1, 0).Row - Target.Row
DerLigne = .Cells(.Columns(1).Cells.Count, "D").End(xlUp).Row + 1
' Cells(Target.Row, 1).Resize(i, 55).Copy Destination:=.Cells(DerLigne, 1)
Cells(Target.Row, 1).Resize(i, 55).Copy
'.Range("A" & .Columns(1).Cells.Count).End(xlUp) = Now
.Cells(DerLigne, 56).Value = ActiveSheet.Name
Feuil3.Activate
.Cells(DerLigne, 1).Select
'Feuil3.Paste (Cells(DerLigne, 1))
ActiveSheet.Paste
'Selection.Paste
Rows(Target.Row).Resize(i).Delete Shift:=xlUp
End With
End If
End If
'Sheets("Suivi des comptes").Cells(1, 1).Activate
If Target.Count = 1 Then
If Left(Target.Address, 3) = "$BF" _
And LCase(Target.Value) = "x" Then
With Sheets("Projets quitussables")
i = Target.Offset(1, 0).Row - Target.Row
DerLigne = .Cells(.Columns(1).Cells.Count, "D").End(xlUp).Row + 1
' Cells(Target.Row, 1).Resize(i, 55).Copy Destination:=.Cells(DerLigne, 1)
Cells(Target.Row, 1).Resize(i, 55).Copy
'.Range("A" & .Columns(1).Cells.Count).End(xlUp) = Now
.Cells(DerLigne, 56).Value = ActiveSheet.Name
Feuil4.Activate
.Cells(DerLigne, 1).Select
'Feuil4.Paste (Cells(DerLigne, 1))
ActiveSheet.Paste
'Selection.Paste
Rows(Target.Row).Resize(i).Delete Shift:=xlUp
End With
End If
End If
'Sheets("Suivi des comptes").Cells(1, 1).Activate
End Sub
A voir également:
- Erreur execution 424
- Erreur 3005 france tv - Forum TV & Vidéo
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo