XL 2019 erreur avec loop de formule vba

My<3

XLDnaute Junior
Je galère! J'ai ce fichier que je travail et j'avais comme souci de supprimer le contenu de cellule précise (j'ai réussi) mais ca la poser un problème dans une autre formule sans trop savoir pourquoi cette formule fonctionnais avec que je réussi a nettoyer les cellule désiré.

Lorsque j'appuis sur le bouton, un pdf (Feuil1 seulement) s'enregistre dans un dossier, un mail est préparer avec les images fais du fichier (2feuilles), les cellules se nettoie et le ficher Excel se ferme.
la ligne mise en erreur: ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFichier1

VB:
Private Sub EnregistrerPDF()
Dim Nomfichier As String, Chemin As String
Dim LaDate As String
Dim Numero As String, sFichier1 As String

    Application.StatusBar = ""
    Chemin = ThisWorkbook.Path

    With Feuil1
        .Select
        .PageSetup.PrintArea = "$A$1:$J$47"
        LaDate = Format(Date, "yyyy.mm.dd")
        Numero = .Range("A2")
    End With

    Nomfichier = LaDate & "_" & Numero & ".pdf"
    sFichier1 = Chemin & "\" & Nomfichier


    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFichier1
    

    Application.StatusBar = "Création des PDFs effectuée"
End Sub

Aussi j'ai eu la mention que le bouton fonctionne a partir du bureau mais lorsque la personne travail a distance (qui on accès a leur Outlook et le serveur) ca ne marche pas si jamais vous voyer l'erreur c'est la bienvenue
 

Pièces jointes

  • _MiseEnFabrication.xlsm
    213 KB · Affichages: 2
Solution
Salut, le nom de fichier généré est : 2022.11.30_22000*-DIV02 qui n'est pas valide car il contient un caractère interdit *

VB:
Sub EnregistrerPDF()
Dim Nomfichier As String, Chemin As String
Dim LaDate As String
Dim Numero As String, sFichier1 As String

    Application.StatusBar = ""
    Chemin = ThisWorkbook.Path

    With Feuil1
        .Select
        .PageSetup.PrintArea = "$A$1:$J$47"
        LaDate = Format(Date, "yyyy.mm.dd")
        Numero = .Range("A2")
    End With

    Nomfichier = LaDate & "_" & Numero
    sFichier1 = Chemin & "\" & Nomfichier

    If NomFichierValide(Nomfichier) Then
        Feuil1.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFichier1
    Else
        MsgBox "Nom de fichier invalide"...

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Aussi j'ai eu la mention que le bouton fonctionne a partir du bureau mais lorsque la personne travail a distance (qui on accès a leur Outlook et le serveur) ca ne marche pas si jamais vous voyer l'erreur c'est la bienvenue
Ça me paraît normal car il me semble que, pour faire simple, quand tu travailles dans un classeur ouvert depuis Outlook il y a des problèmes à cause du chemin ThisWorkbook.

Ces personnes ont-elles les mêmes problèmes si elles commencent par enregistrer le classeur joint au mail ?
 

kiki29

XLDnaute Barbatruc
Salut, le nom de fichier généré est : 2022.11.30_22000*-DIV02 qui n'est pas valide car il contient un caractère interdit *

VB:
Sub EnregistrerPDF()
Dim Nomfichier As String, Chemin As String
Dim LaDate As String
Dim Numero As String, sFichier1 As String

    Application.StatusBar = ""
    Chemin = ThisWorkbook.Path

    With Feuil1
        .Select
        .PageSetup.PrintArea = "$A$1:$J$47"
        LaDate = Format(Date, "yyyy.mm.dd")
        Numero = .Range("A2")
    End With

    Nomfichier = LaDate & "_" & Numero
    sFichier1 = Chemin & "\" & Nomfichier

    If NomFichierValide(Nomfichier) Then
        Feuil1.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFichier1
    Else
        MsgBox "Nom de fichier invalide", vbCritical + vbOKOnly
        Exit Sub
    End If
    Application.StatusBar = "Création des PDFs effectuée"
End Sub

Private Function NomFichierValide(sChaine As String) As Boolean
Dim i As Long
Const sCaracInterdits As String = """*/:<>?\|[]"
    NomFichierValide = True
    If Len(sChaine) = 0 Then
        NomFichierValide = False
        Exit Function
    End If
    For i = 1 To Len(sCaracInterdits)
        If InStr(sChaine, Mid$(sCaracInterdits, i, 1)) > 0 Then
            NomFichierValide = False
            Exit Function
        End If
    Next i
End Function

Peut-être modifier
Code:
Chemin = Environ("USERPROFILE") & "\" & "Documents"
 
Dernière édition:

My<3

XLDnaute Junior
Ça me paraît normal car il me semble que, pour faire simple, quand tu travailles dans un classeur ouvert depuis Outlook il y a des problèmes à cause du chemin ThisWorkbook.
Je me suis mal exprimer il n'ouvre pas le fichier a partir d'Outlook mais a partir du serveur. La procédure est pourtant la même au bureau ou télétravail mais semble-t-il qu'il y aille un souci.

Le problème c'est l'envois du mail en télétravail
 

My<3

XLDnaute Junior
Salut, le nom de fichier généré est : 2022.11.30_22000*-DIV02 qui n'est pas valide car il contient un caractère interdit *

VB:
Sub EnregistrerPDF()
Dim Nomfichier As String, Chemin As String
Dim LaDate As String
Dim Numero As String, sFichier1 As String

    Application.StatusBar = ""
    Chemin = ThisWorkbook.Path

    With Feuil1
        .Select
        .PageSetup.PrintArea = "$A$1:$J$47"
        LaDate = Format(Date, "yyyy.mm.dd")
        Numero = .Range("A2")
    End With

    Nomfichier = LaDate & "_" & Numero
    sFichier1 = Chemin & "\" & Nomfichier

    If NomFichierValide(Nomfichier) Then
        Feuil1.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFichier1
    Else
        MsgBox "Nom de fichier invalide", vbCritical + vbOKOnly
        Exit Sub
    End If
    Application.StatusBar = "Création des PDFs effectuée"
End Sub

Private Function NomFichierValide(sChaine As String) As Boolean
Dim i As Long
Const sCaracInterdits As String = """*/:<>?\|[]"
    NomFichierValide = True
    If Len(sChaine) = 0 Then
        NomFichierValide = False
        Exit Function
    End If
    For i = 1 To Len(sCaracInterdits)
        If InStr(sChaine, Mid$(sCaracInterdits, i, 1)) > 0 Then
            NomFichierValide = False
            Exit Function
        End If
    Next i
End Function

Peut-être modifier
Code:
Chemin = Environ("USERPROFILE") & "\" & "Documents"
Merci du coup de pouce j'avais pas remarque cette fameuse valeur problématique
 

Discussions similaires

Statistiques des forums

Discussions
314 716
Messages
2 112 159
Membres
111 447
dernier inscrit
jasontantane