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 :

Macro VBA de création de PDF automatique depuis un fichier EXCEL


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Macro VBA de création de PDF automatique depuis un fichier EXCEL
    Bonjour,

    Je suis finalement arrivée à bout d'une macro qui me permet de générer de manière automatique depuis un fichier EXcel une multitude de fichier PDF remplissant la condition mise dans mon code VBA ci-dessous. Le seul problème et pas des moindres, c'est que le libellé pris pour enregistrer les PDF est parfois tronqué et de manière aléatoire. Je n'ai aucune idée pourquoi. Quelque soit le libellé, il est tronqué! Exemple de libellé testé "ARRONDISSEMENT BAGNERES DE BIGORRE" ou encore "ZONAGE A FACON 01" ou encore "01". Bref, j'ai tout essayé et je ne vois pas pourquoi il va me retirer dans "ARRONDISSEMENT BAGNERES DE BIGORRE" le "ARROND".
    QUelqu'un a t-il une idée sur ce problème ou peut-être même l'aurait déjà rencontré. Merci par avance pour votre aide. Virginie


    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
    37
    Sub CREATION_ZONAGE_SPECIFIQUE()
    '
    ' CREATION_ZONAGE_SPECIFIQUE Macro
    ' Macro enregistrée le 22/11/2011 par C481604
    '
    ' Touche de raccourci du clavier: Ctrl+q
    '
     
     
    Dim mois, annee As String
        mois = Month(Sheets("plages graph").Range("A4"))
        annee = Year(Sheets("plages graph").Range("A4"))
     
    Dim chemin As String
    Dim nom As String * 34
    Dim i As Integer
     
    chemin = "S:\"
     
    For i = 2 To 37
     
    If Sheets("zones").Cells(i + 2, 19) > 0 Then
     Sheets("Synthèse").Range("E6") = Sheets("zones").Cells(i + 2, 18)
     nom = Sheets("zones").Cells(i + 2, 20).Value
     bandeau
     zonetXT
     Sheets("Zonage à façon specifique").Select
     ThePath = chemin
     TheFullName = nom
     SendKeys = ThePath & TheFullName
     SendKeys ("{ENTER}")
     ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=False, ActivePrinter:="Adobe PDF"
     
     
    End If
    Next
    End Sub

  2. #2
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Bonjour,

    je commence par deux points importants:
    • Merci de ne pas oublier les balises de CODE *le code est vraiment plus lisible*
    • Le VBA n'est pas du vb.net Microsoft Office > Excel > Macros et VBA Excel



    Pour ton code, j'aimerais comprendre à quoi servent les deux lignes suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    nom = Sheets("zones").Cells(i + 2, 20).Value
    bandeau
    zonetXT
    ensuite as tu regardé si "TheFullName " contenait la bonne valeur *exemple*:

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    nom = Sheets("zones").Cells(i + 2, 20).Value
    bandeau
    zonetXT
    permettent, pour la 1ère, de créer une variable qui prend la valeur d'une cellule incrémentée par un compteur i et cette valeur correspond à une zone géographique. Les commandes "bandeau" et "zonetXT" font appel à deux macros nommée "bandeau" et "zonetXT" qui permettent d'insérer dans un bandeau une zone de texte dans laquelle on affiche le libellé de la zone géograhique.
    Concernant la valeur prise par TheFullName, elle est bien correcte car certains PDF sont bien crée avec le nom pris pour la valeur de TheFullName.
    Cdt.
    Virgie31

  4. #4
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    si tu dit que le nom s'imprime de façon aléatoire,
    j'ai envie de dire que ça peut venir du fait que la macro n'attend pas la confirmation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendKeys (ThePath & TheFullName,TRUE)
    http://msdn.microsoft.com/en-us/libr...ice.10%29.aspx

    PS: merci de faire l'effort de mettre les balises de code dans tes réponse ou tu te verra sans réponse la prochaine fois.

Discussions similaires

  1. [VBA-E]insérer un compteur automatique dans une feuille excel ?
    Par Charley_250 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/04/2007, 08h45
  2. [VBA-E] Ouverture automatique d'un fichier excel sur un réseau
    Par NiKoS29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/04/2007, 15h57
  3. [VBA-E] enregistrement automatique d'un fichier excel
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 06/02/2007, 20h47
  4. [VBA-E] Création de feuille automatique
    Par matt8-5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2007, 11h59
  5. Creer un pdf depuis un fichier Excel
    Par calimero91 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/06/2006, 14h23

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