IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Eviter écrasement fichier pdf (ou xps) existant PDF [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Eviter écrasement fichier pdf (ou xps) existant PDF
    Bonjour,

    En enregistrant par macro, une feuille excel (ou plus) sous format PDF ou XPS, je n'ai pas de message comme pour excel m'indiquant que le fichier existe déjà.

    Quelle est la solution? mon code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Chemin As String, MonFichier As String
    Chemin = ThisWorkbook.Path
     
    MonFichier = Chemin & "\" & "PV CmdP" & " " & Sheets("ConsultCMDP").Range("C2") & ".pdf"
     
        Sheets(Array("A", "B", "C")).Select
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=MonFichier, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Je voudrais, faire en sorte que si le fichier existe déjà, qu'il ne soit pas créé. Je ne voudrai pas avoir le message d'invite de confirmation.

    Je vous remercie.

    Cordialement,
    Dernière modification par cathodique ; 11/04/2013 à 15h37. Motif: pour notification par email

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    Bonjour
    Une facon toute simple
    tester si le fichier existe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if dir(chemin de ton fichier au complet)<>0 then 
    'faire ceci
    else 'faire cela
    end if
    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je ne sais pas exactement si c’est ça que tu veux mais regarde quand même.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim FichierExiste As String
    Dim I As Long
    Dim Chemin As String, MonFichier As String
    Chemin = ThisWorkbook.Path
     
    MonFichier = Chemin & "\" & "PV CmdP" & " " & Sheets("ConsultCMDP").Range("C2") & ".pdf"
     
        Sheets(Array("A", "B", "C")).Select
     FichierExiste = Dir(MonFichier)
     While FichierExiste <> ""
        I = I + 1
        FichierExiste = Dir(Replace(Replace(MonFichier, ".pdf", CStr(I) & ".pdf"), ".XPS", CStr(I) & ".XPS"))
     Wend
     If I > 0 Then MonFichier = Replace(Replace(MonFichier, ".pdf", CStr(I) & ".pdf"), ".XPS", CStr(I) & ".XPS")
        ActiveWindow.Application.DisplayAlerts = False
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=MonFichier, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
        ActiveWindow.Application.DisplayAlerts = True

  4. #4
    Invité
    Invité(e)
    Par défaut
    Messieurs je vous remercie,

    En fait, j'ai remarqué qu'à chaque fois que j'enregistre une feuille au format pdf, au cours de cette opération l'écrasement du fichier portant le même nom est automatique,
    aucun message ne prévient qu'un fichier existe déjà. Mon bout de code fait partie d'une procédure, je voudrais donc faire un test et si le fichier existe alors les lignes de
    code de création du fichier sont "jumpées" et la procédure se poursuit.

    J'ai testé le code de "Rdurupt", il fonctionne. mais ce n'est pas ce que je cherche. En fait, ton code renomme le fichier en incrémentant le nom.

    Pour le code Patricktoulon, c'est une bonne piste mais j'ai "une erreur 13, incompatibilité de type" , sur la ligne de code où est inséré le chemin du fichier
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim Chemin As String, MonFichier As String
    Chemin = ThisWorkbook.Path
     
    MonFichier = Chemin & "\" & "PV CmdP" & " " & Sheets("ConsultCMDP").Range("C2") & ".pdf"
     
    If Dir(MonFichier) <> 0 Then
    GoTo suite 'faire ceci
    Else 'faire cela
     
        Sheets(Array("A", "B", "C")).Select
        'Sheets("Station").Activate
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=MonFichier, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
     End If
        Sheets("ConsultCMDP").Select
    suite:
     
    MsgBox "Veuillez Patientez! Création du Fichier au format Excel." & Chr(10) & Chr(10) & "Cliquez sur OK."
    Je n'ai pas bien compris, je n'arrive pas à trouver mes erreurs.

    Je vous remercie beaucoup.

    Cordialement,

  5. #5
    Invité
    Invité(e)
    Par défaut
    Rebonjour,

    La piste de Patricktoulon était bonne. J'ai poursuivis mes recherches et je suis tombé sur ceci http://www.developpez.net/forums/d46...ichier-existe/

    Il fallait mettre ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    txt=Dir(chemin+NomFichier)
    if txt="" then
    'Faire ceci
    else
    'Faire cela
    end if
    Je vous remercie beaucoup.

    Cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FPDF] Erreur : "Le fichier ne commence pas par '%PDF-' "
    Par hAMST dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/08/2009, 16h25
  2. Réponses: 4
    Dernier message: 15/05/2008, 17h28
  3. [VBA-E] Expert recherché pour convertir fichier DWG, DXF, SLDDRW en PDF
    Par xtian_Québec dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2007, 19h40
  4. [PDF] comment convertir un PDF en fichier images
    Par magnus2005 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 23/05/2006, 19h04
  5. [VB]Générer un fichier Postscript à partir d'un pdf avec VB
    Par Vince dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/09/2005, 19h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo