Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 erreur 1004, macro, lors de la génération d'un pdf

  • Initiateur de la discussion Membre supprimé 205584
  • Date de début
M

Membre supprimé 205584

Guest
Bonjour,

Tout d'abord merci beaucoup aux contributeurs de forums. C'est la première fois que je poste une question mais tout mon apprentissage se fait grâce aux différentes réponses trouvées sur des forums, et nous sommes nombreux dans ce cas là.

Je cherche une réponse à mon problème depuis plusieurs mois sans succès, peut être pourrez-vous m'aider

L'erreur n'arrive que de manière aléatoire, 2 fois sur 3 la macro fonctionne ..

J'ai mis, une partie un peu plus large du code mais seule la ligne en gras pose problème ..

Sub Confirmer_Commande_Envoi()

' On cache les colonnes H et I
If (Columns("H:I").EntireColumn.Hidden = False) Then _
Columns("H:I").EntireColumn.Hidden = True

' On cache toutes les références que l'on ne commande pas
For Each ligne In Rows("4:300")
r = ligne.Row
If (Cells(r, 10) = "" Or Cells(r, 5) <> "Mediq") Then _
Cells(r, 10).EntireRow.Hidden = True
Next

' On exporte le fichier dans le dossier actif au format pdf et avec pour nom "date commande de matériel chez excel download "
Sheets("commande (envoi)").Range("C3:J300").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Format(Date, "yyyymmdd") & " commande de matériel médical chez Mediq.pdf"

End If
End Sub




Merci beaucoup pour votre temps et votre aide,


louis
 

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Tu peux tester la macro ci-dessous pour voir si le résultat est OK.
VB:
Sub Confirmer_Commande_Envoi()
Dim NFic$, strPath As String
strPath = ThisWorkbook.Path & "\"
NFic = Format(Date, "yyyymmdd") & " BBcommande de matériel médical chez Mediq.pdf"
With Sheets("commande (envoi)")
    .Range("$A$4:$K$300").AutoFilter Field:=5, Criteria1:="<>Mediq"
    .Range("$A$4:$K$300").AutoFilter Field:=10, Criteria1:="<>"
    .Columns("H:I").EntireColumn.Hidden = True
    .AutoFilter.Range.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=srPath & NFic, Quality:=xlQualityStandard, _
            IncludeDocProperties:=False, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
    .ShowAllData
    .Columns("H:I").EntireColumn.Hidden = False
    .AutoFilterMode = False
End With
End Sub
 
M

Membre supprimé 205584

Guest
merci beaucoup pour ta réponse!

comme prévu je n'arrive pas à reproduire le bug qui est aléatoire, je ferais le changement de code la prochaine fois que la macro plante et je te ferais un retour à ce moment là

belle journée,

louis
 
M

Membre supprimé 205584

Guest
Bonjour,

j'ai pu faire le test après un bug du fichier.

J'ai une erreur 424 Objet Requis au niveau du premier .Range. J'ai essayé de bidouiller et de chercher sur internet sans succès ...

Au moins ton code m'a permis de m'instruire sur autofilter et criteria1 même si je n'ai pas trouvé de lecture exaustive je sais maintenant que ca existe.

Merci pour ton aide

louis
 

Staple1600

XLDnaute Barbatruc
Bonsoir à tous

Et maintenant est-ce que c'est mieux ?
VB:
Sub Confirmer_Commande_Envoi()
Dim NFic$, strPath As String
strPath = ThisWorkbook.Path & "\"
NFic = Format(Date, "yyyymmdd") & " BBcommande de matériel médical chez Mediq.pdf"
With Sheets("commande (envoi)")
'ici changement de l'adresse des cellules
'il faut que ce soit la bonne adresse du tableau à filtrer
    .Range("$B$4:$j$300").AutoFilter Field:=4, Criteria1:="<>Mediq"
    .Range("$B$4:$j$300").AutoFilter Field:=9, Criteria1:="<>"
    .Columns("H:I").EntireColumn.Hidden = True
    .AutoFilter.Range.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=srPath & NFic, Quality:=xlQualityStandard, _
            IncludeDocProperties:=False, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
    .ShowAllData
    .Columns("H:I").EntireColumn.Hidden = False
    .AutoFilterMode = False
End With
End Sub
PS: Comme ton classeur "plantouillait" chez moi, j'avais testé en copiant la seule feuille commande (envoi) dans un classeur vierge
Sauf que j'avais l'avais collée en colonne A, d'où le bug chez toi.
Désolé
 
M

Membre supprimé 205584

Guest
damned ! toujours pas, et aucune idée de pourquoi encore, ta solution était parfaite sur le papier ..

c'est très cool de m'aider et de répondre aussi vite, je reprend espoir
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…