Erreur 438 ou 1004
mstecluque
Messages postés
73
Date d'inscription
Statut
Membre
Dernière intervention
-
ThauTheme Messages postés 1564 Statut Membre -
ThauTheme Messages postés 1564 Statut Membre -
Bonjour à tous,
je suis en train de m'acharner sur une macro qui devrait logiquement filtrer des données, sélectionner le résultat, le copie et le colle dans un autre onglet.
Ca semble simple. Et ça marche jusqu'au collage.
A ce moment là, ça ne veut pas. J'ai une erreur 438 ou 1004 en fonction de ce que j'essaie. J'ai tenté plusieurs façons de définir la cellule à partir de laquelle je veux commencer mon collage mais je ne trouve pas mon erreur.
J'espère que qqun aura une idée, pcq je n'en ai plus!
je suis en train de m'acharner sur une macro qui devrait logiquement filtrer des données, sélectionner le résultat, le copie et le colle dans un autre onglet.
Ca semble simple. Et ça marche jusqu'au collage.
A ce moment là, ça ne veut pas. J'ai une erreur 438 ou 1004 en fonction de ce que j'essaie. J'ai tenté plusieurs façons de définir la cellule à partir de laquelle je veux commencer mon collage mais je ne trouve pas mon erreur.
Option Explicit
Public Const codeb = "A"
Sub Macro1()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
Dim Mois1 As Date, Mois1_formate As String
Dim Mois2 As Date, Mois2_formate As String
Dim Mois3 As Date, Mois3_formate As String
Dim li As Long, lifinCarnet As Long, lifinATotal As Long
Mois1 = DateAdd("d", -1, CDate("1/" & Format(DateAdd("m", 1, Date), "mm/yyyy")))
Mois1_formate = Format(CDate(Mois1), "mm/d/yyyy")
Mois2 = DateAdd("d", -1, CDate("1/" & Format(DateAdd("m", 2, Date), "mm/yyyy")))
Mois2_formate = Format(CDate(Mois2), "mm/d/yyyy")
Mois3 = DateAdd("d", -1, CDate("1/" & Format(DateAdd("m", 3, Date), "mm/yyyy")))
Mois3_formate = Format(CDate(Mois3), "mm/d/yyyy")
Sheets("BDD Carnet commandes").Select
Rows("1:1").Select
Selection.AutoFilter Field:=21, Criteria1:="=S", _
Operator:=xlOr, Criteria2:="="
Selection.AutoFilter Field:=11, Operator:= _
xlFilterValues, Criteria2:=Array(1, Mois1_formate, 1, Mois2_formate, 1, Mois3_formate)
ActiveSheet.Cells.SpecialCells(xlCellTypeVisible).Copy
'lifinCarnet = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'lifinATotal = Sheets("A TOTAL").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("A TOTAL").Select
Range("A5107").Select
ActiveSheet.Paste
'For li = 2 To lifinCarnet
'Rows(li).Copy
'lifinATotal = Sheets("A TOTAL").Cells(Rows.Count, 1).End(xlUp).Row
'Sheets("A TOTAL").Rows(lifinATotal + 1).Select
'Selection.Paste
'Next li
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
J'espère que qqun aura une idée, pcq je n'en ai plus!
8 réponses
-
Bonjour,
il manque une selection de cellules, Rows(1:1) ca ne va pas
deuxieme critere egal a quoi ?????????Selection.AutoFilter Field:=21, Criteria1:="=S", _ Operator:=xlOr, Criteria2:="=" -
Bonjour le fil, bonjour le forum,
Le petit bout de code ci-dessous, à adapter, fonctionne chez moi :Sub Macro1() Dim O1 As Worksheet Dim O2 As Worksheet Dim PL As Range Dim PLV As Range Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.DisplayAlerts = False Set O1 = Sheets("Feuil1") Set O2 = Sheets("Feuil2") Set PL = O1.UsedRange O1.Range("A1").AutoFilter Field:=1, Criteria1:="AA" Set PLV = PL.SpecialCells(xlCellTypeVisible) If PLV.Rows.Count = 1 Then MsgBox "Aucune donnée ne correspond aux critères" GoTo fin End If On Error GoTo 0 PLV.Copy O2.Range("A1") fin: Sheets("Feuil1").Range("A1").AutoFilter Application.DisplayAlerts = True Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub
-
Et si je ne veux pas copier la première ligne?
-
Re,
Remplace la ligne :
Set PL = O1.UsedRange
par les deux lignes :Set PL = O1.UsedRange Set PL = PL.Offset(1, 0).Resize(PL.Rows.Count - 1, PL.Columns.Count)
À plus,
ThauTheme -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai quand même un pb, ça trouve toujours qu'il n'y a qu'une seule ligne, même s'il y en a pleins.
Du coup ça m'affiche à chaque fois le message et ça termine...
par contre si j'enlève la condition, ça fait ce que je veux. -
Re,
On perdrait tellement moins de temps si tu daignais mettre un fichier exemple en pièce jointe...
-
-
https://www.cjoint.com/c/EGBmoLE8reC
Voici une version très allégée de mon document, pour que vous voyiez tout par vous-même
-
-
Re,
J'ai le même problème que toi. Chaque fois que je veux envoyer un fichier via Ci-Joint celui-ci n'est pas accessible (comme maintenant). La solution que j'ai trouvée, c'est de zipper le fichier Excel puis d'envoyer le zip...
-
Re,
Pffff !... Je parle à un mur là.
Ton fichier est inaccessible !... Comme dit plus haut envoie un zip via ci-joint. Relis mes réponses...