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 :

Problème d'enregistrement via une macro dans un format excel et pdf dans un dossier spécifique. [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Problème d'enregistrement via une macro dans un format excel et pdf dans un dossier spécifique.
    Bonjour,

    J'ai un soucis, je n'arrive pas à enregistrer une copie d'une feuille excel et son PDF dans un dossier de destination précis.

    En quelques mots voici ce que je fais avec une macro



    1. impression d'une feuille excel
    2. enregistrement d'une copie d'un ensemble de cellule d'une feuille dans nouveau classeur et dans un dossier spécifique ( je n'arrive pas à enregistrer sous uniquement une feuille, j'ai donc fait une macro qui copie la page 1 de la feuille 1 dans un nouveau classeur. cela fonctionne bien comme ça)
    le nom du fichier est généré par le contenu de certaines cellules

    3.création d'un fichier au format PDF, le nom du fichier est également généré, puis enregistré dans un dossier spécifique


    Tout fonctionne sauf l'enregistrement de la copie et du PDF.
    lorsque je suis sur le C: \ et que spécifie le chemin suivant C:\Users\vincent\Desktop\pdf, l'enregistrement se fait bien dans le Dossier "PDF"
    Dès que je copie le fichier excel sur sur D:\ par exemple, l’enregistrement se fait dans le dossier user\document du C: et non dans le dossier d:\ spécifié dans la macro.
    Avant cela fonctionné très bien et depuis que j'ai coupé lé dossier et recollé cela ne fonctionne plus.
    voici le VBA

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Sub Bouton68_Cliquer()
    ' imprimfac Macro
     
        Range("C1").Select
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
     
    'export facture au format pdf et copie xls
    info1 = Sheets("facture").Range("M13")
    info2 = Sheets("Historique factures").Range("E2")
    info3 = Sheets("Historique factures").Range("A2")
    Nom = "F480_" & info1 & "0" & info2 & "_000" & info3
     
    ThisWorkbook.Save
    Range("A1:G43").Select
    Range("E1").Activate
        Selection.Copy
        Workbooks.Add
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ChDir "D:\dossier1\dosssier2\dossier3\dossier3"
        ActiveWorkbook.SaveAs Filename:=(Nom), FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        ActiveWindow.Close
     
    ThisWorkbook.Activate
    If MsgBox("Avez- vous valider votre facture afin de générer le numéro automatique ?", vbYesNo, "IFA Oise vous informe") = vbYes Then
     
    ChDir "D:\dossier1\dosssier2\dossier3\dossier3"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=(Nom), Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=True
     
     
    End If
    End Sub

    merci d'avance pour votre aide

    vincent

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.ExportAsFixedFormat
    A ma connaissance, il n'y a pas de méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ExportAsFixedFormat
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, enfin bref, voir en bas du post 1 Impression de certaines Feuilles d'un classeur via un tableau dans un seul Pdf résultant

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Oups. Au temps pour moi.

    Ajoute :
    avant le ChDir.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut chemin d'accès
    Citation Envoyé par kiki29 Voir le message
    Salut, faux enfin bref, voir en bas du post 1 Impression de certaines Feuilles d'un classeur via un tableau dans un seul Pdf résultant
    Merci KiKi29
    Votre lien est une vrai mine d'or. Malheureusement, je ne suis pas un expert en VBA. Ce que je souhaite, c'est comprendre pourquoi la macro n'enregistre pas dans un dossier spécifique ? Quelles sont les erreurs dans mon code ?
    Lorsque j'enregistre sans condition (avec un nom de fichier généré) cela fonctionne très bien.

  6. #6
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut ChDrive
    Citation Envoyé par Daniel.C Voir le message
    Ajoute :
    avant le ChDir.
    Merci Daniel.C,

    Qu'est ce que je rajoute après ChDrive "D"
    ChDrive "D" ? ChDir "D:\dossier1\dosssier2\dossier3\dossier3"

  7. #7
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Qu'est ce que je rajoute après ChDrive "D"
    Rien. En fait si le dossier courant est défini sur un autre lecteur, il faut changer le disque courant avant de changer le chemin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ChDrive "D"
    ChDir "D:\dossier1\dosssier2\dossier3\dossier3"
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  8. #8
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Résolu
    Un énorme merci pour ton aide Daniel
    Cela fonctionne parfaitement.
    Une chose est certaine ce soir, je coucherai mon c**. Vous m'avez appris quelques jours aujourd'hui.
    Vincent

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

Discussions similaires

  1. recherche dans une base de donnees; copier coller via une macro
    Par yannlvr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/04/2010, 17h58
  2. Réponses: 5
    Dernier message: 24/07/2009, 22h19
  3. Réponses: 2
    Dernier message: 26/04/2008, 19h32
  4. Réponses: 45
    Dernier message: 14/02/2008, 15h41
  5. Réponses: 2
    Dernier message: 04/06/2007, 15h39

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