Erreur sur un code VBA (AutoFilter)

Résolu/Fermé
Ippo - Modifié par jordane45 le 23/12/2014 à 11:40
 Ippo - 23 déc. 2014 à 15:43
Bonjour à tous,

J'ai une erreur sur le code ( encore merci à Lepingou d'ailleur) suivant ( sur la ligne en gras) :

'Option Explicit
Sub RecupValeurNouvCla()
Dim chemso As String, chemci As String
Dim nomso As String, nomci As String
Dim shco As String, shci As String
Dim chxcol As String, datref As Date, liginfo As Integer
liginfo = Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("sheet1").Select
chemso = Range("B2"): chemci = Range("C2")
nomso = Range("B3") & "." & Range("b4"): nomci = Range("C3") & "_" & liginfo - 14 & "." & Range("C4")
shso = Range("B5")
chxcol = Range(Range("B6") & 1).Column: datref = Range("B7")
Application.ScreenUpdating = False
'   Récupère les valeurs selon date de référence
Workbooks.Open (chemso & "\" & nomso)
<bold>Range("A1").AutoFilter Field:=chxcol, Criteria1:="<" & CLng(datref)</bold>Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Workbooks("Ippo_ccm_CmdeRecupv2.xlsm").Sheets("RecupDuJour").Cells(2, 1)

Workbooks(nomso).Close SaveChanges:=False

'

End Sub


c'est une erreur de type 1004 : erreur d'éxécution la méthode autofilter de la classe range a échoué.

Savez-vous d'ou cela peut il venir ?

Merci

EDIT : Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.

Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

3 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
23 déc. 2014 à 11:40
Bonjour,

Peux tu tester ceci ?
'Option Explicit
Sub RecupValeurNouvCla()
Dim chemso As String
Dim chemci As String
Dim nomso As String
Dim nomci As String
Dim shco As String
Dim shci As String
Dim chxcol As String
Dim datref As Date
Dim liginfo As Integer

Dim critere As String

liginfo = Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("sheet1").Select
chemso = Range("B2"): chemci = Range("C2")
nomso = Range("B3") & "." & Range("b4"): nomci = Range("C3") & "_" & liginfo - 14 & "." & Range("C4")
shso = Range("B5")
chxcol = Range(Range("B6") & 1).Column: datref = Range("B7")
Application.ScreenUpdating = False
' Récupère les valeurs selon date de référence
Workbooks.Open (chemso & "\" & nomso)

critere = "<" & CLng(datref)

Range("A1").AutoFilter Field:=chxcol, Criteria1:=critere
Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Workbooks("Ippo_ccm_CmdeRecupv2.xlsm").Sheets("RecupDuJour").Cells(2, 1)

Workbooks(nomso).Close SaveChanges:=False

End Sub


PS: Tu as bien des entêtes de colonne ?
PS2 : Tu n'as pas de cellules vides (dans ta ligne de colonnes) ?
0