Erreur 438 ou 1004
mstecluque
Messages postés
73
Date d'inscription
Statut
Membre
Dernière intervention
-
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
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!
A voir également:
- Erreur 438 ou 1004
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
8 réponses
Bonjour,
il manque une selection de cellules, Rows(1:1) ca ne va pas
deuxieme critere egal a quoi ?????????
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 :
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
Re,
Remplace la ligne :
par les deux lignes :
À plus,
ThauTheme
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.
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...
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
Voici une version très allégée de mon document, pour que vous voyiez tout par vous-même
Rows(1:1) est ma ligne d'entêtes et ça fonctionne.
Et pour le deuxième critère, c'est la macro enregistrée qui m'a donnée ça. Je garde ou les colonnes qui contiennent S ou les vides
Ben, si ca marche pourquoi y des erreurs????????????????????????????????????