Erreur 424

Bonjour

En recopiant une macro issue de ce site, j'ai une erreur 424 :

Sub Archiver()

'

' Archiver Macro

'

Set F = Workbooks.Open(ThisWorkbook.Path & "\Archives Point situation.xlsx")

a = 3

With Effectif

If .Cells(a, "A") <> "" Then <===== Ici

If .Cells(a, "AY") = "ü" Then

Range(.Cells(a, "A"), .Cells(a, "AY")).Cut F.Sheets(1).Cells(Rows.Count, 1).End(xlUp)(2)

End If

a = a + 1

Else

MessageBox.Show ("Aucun archivage requis")

End If

F.Close True

ThisWorkbook.Activate

Sheets(Effectif).Cells.SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp

End With

End Sub

Avez vous des solutions ?

Bonsoir,

erreur 424 "Objet requis" ?

Effectif correspond bien à un objet type Range ?

Car vous en demandez la valeur de la cellule a,"A"...

@ bientôt

LouReeD

Bonsoir

Effectif correspond au nom de la feuille.

La suite je ne comprends pas, je suis en apprentissage des vba

le nom d'une feuille n'est pas un objet Range sur lequel on peut cibler une cellule.

A moins que Effectif soit le nom VBA de la feuille, ou est ce le nom de l'onglet de la feuille ?

Si c'est le nom de l'onglet alors il faut mettre :

Sheets("Effectif")

@ bientôt

LouReeD

Bonjour

Effectif est le nom de la feuille

En remettant de l'ordre j’obtiens l'erreur la methode delete de la classe range à échoué

Sub Archiver()

'

' Archiver Macro

'

Set F = Workbooks.Open(ThisWorkbook.Path & "\Archives Point situation.xlsx")

a = 3

With Feuil1

While .Cells(a, 1) <> ""

If .Cells(a, "AY") = "ü" Then

Range(.Cells(a, "A"), .Cells(a, "AY")).Cut F.Sheets(1).Cells(Rows.Count, 1).End(xlUp)(2)

End If

a = a + 1

Wend

F.Close True

ThisWorkbook.Activate

Sheets(1).Cells.SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp

End With

End Sub

Rechercher des sujets similaires à "erreur 424"