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

VBA Word Discussion :

Erreur de compilation caractère incorrect [WD-365]


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Homme Profil pro
    Production TV
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Production TV
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Erreur de compilation caractère incorrect
    Bonjour à tous,

    C'est mon premier post ici, avant, j'ai bien pris le soin de vérifier si je trouvais des réponses ici, il se peut que du fait de mon peu d'expérience, je sois passé à coté.

    Je bute sur une macro dont une partie s'exécute de temps en temps mais me renvoie dans 99 % des cas un message d'erreur de compilation avec la mention caractère incorrect.

    Si l'un de vous peut m'éclairer, peut être est ce juste dans la manière de lancer la macro? (Je suis un vrai néophyte)

    Le but du script est de créer à partir d'un publipostage word un export de chaque feuille (Attestation de sortie) en PDF en le nommant individuellement

    Dans un deuxième je chercherais à automatiser l'envoi par mail.

    Merci pour vos lumières qui me sortiront de mon impasse.

    Voici le script :

    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
    Sub Impression()
    '
    ' Impression Macro
    '
    '
    NbPage = ActiveDocument.Windows(1).Panes(1).Pages.Count
    For i = 1 To NbPage
    Dim nom
    nom = ActiveDocument.Sections(i).Range.Paragraphs(16).Range.Words(3)
    prenom = ActiveDocument.Sections(i).Range.Paragraphs(17).Range.Words(3)
        ActiveDocument.ExportAsFixedFormat OutputFileName:= _
            "C:\Users\10012055U\Desktop\Test\Attestation Ligue1 " & nom & prenom & ".pdf", _
            ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForPrint, From:=i, To:=i, Range:=wdExportFromTo, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True, UseISO19005_1:=False
        ChangeFileOpenDirectory "C:\Users\10012055U\Desktop\Test\"
     
    Next
     
     
    End Sub
    Merci.

    David.

    "Je suis débutant et n'hésite pas à poser toutes les questions, c'est comme ça que je progresse."

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Courriertv Voir le message
    Bonjour,

    Vos variables nom et prenom contiennent sans doute des caractères interdits. Utilisez des Debug.print pour voir ce que vous récupérez dans vos variables juste après la ligne 10.

    Nb :
    • Je ne comprends pas bien votre boucle basée sur le nombre de pages, alors qu'ensuite elle porte sur le changement de section. Si le changement de page correspond à un changement de section ça peut aller, mais ce n'est pas rationnel.
    • Déclarez toutes vos variables en début de procédure.

  3. #3
    Candidat au Club
    Homme Profil pro
    Production TV
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Production TV
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,

    Vos variables nom et prenom contiennent sans doute des caractères interdits. Utilisez des Debug.print pour voir ce que vous récupérez dans vos variables juste après la ligne 10.

    Nb :
    • Je ne comprends pas bien votre boucle basée sur le nombre de pages, alors qu'ensuite elle porte sur le changement de section. Si le changement de page correspond à un changement de section ça peut aller, mais ce n'est pas rationnel.
    • Déclarez toutes vos variables en début de procédure.
    Merci Eric, cela me semble très pertinent, effectivement, j'ai purgé les caractères spéciaux du document original. J'ai changé le Sections->Pages. Par contre comment déclarer les variables? J'ai toujours la même erreur. Est il possible que je lance la macro de manière incorrecte?

    Merci en tout cas de me consacrer un peu de temps.

    David.

    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
    Sub Impression()
    '
    ' Impression Macro
    '
    '
    NbPage = ActiveDocument.Windows(1).Panes(1).Pages.Count
     
    For i = 1 To NbPage
     
    Dim Nom
     
    Nom = ActiveDocument.Pages(i).Range.Paragraphs(16).Range.Words(3)
     
    Dim Prenom
     
    Prenom = ActiveDocument.Pages(i).Range.Paragraphs(17).Range.Words(3)
     
        ActiveDocument.ExportAsFixedFormat OutputFileName:= _
            "C:\Users\10012055U\Desktop\Test\Attestation Ligue1 " & Nom & Prenom & ".pdf", _
            ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForPrint, From:=i, To:=i, Range:=wdExportFromTo, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True
     
     
    Next
     
     
    End Sub

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Courriertv Voir le message
    Sans voir votre document, je ne peux vous aider. Si vous en avez la possibilité, postez le en .zip.

  5. #5
    Candidat au Club
    Homme Profil pro
    Production TV
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Production TV
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Sans voir votre document, je ne peux vous aider. Si vous en avez la possibilité, postez le en .zip.
    Merci Eric, etant donné qu'il comprend quelques données liées au personnel, puis je vous envoyer le fichier par mail? On continuera à poster sur le site le code.

    Merci à vous,

    David.

  6. #6
    Candidat au Club
    Homme Profil pro
    Production TV
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Production TV
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Merci à vous tous.
    Merci à vous tous et particulièrement à Eric.

    L'erreur venait d'un bout de code présent dans un autre onglet de la console qui corrompait le script. Je ne savais pas qu'en lançant ma macro, je lançait aussi ce code.

    On apprend en forgeant.

    Merci encore pour le temps que vous avez pris pour me répondre et notamment pour m'aiguiller sur la logique Pages-Sections et mettre un peu de rigueur dans ma macro.

    Bon weekend.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Courriertv Voir le message
    Bonjour,

    Au cas où vous en auriez besoin, testez cette fonction qui permet d'éliminer les caractères interdits dans un nom de fichier. La liste peut être complétée.
    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
     
    Sub TestSansCaracteresSpeciaux()
     
        Debug.Print SansCaracteresSpeciaux(Selection.Range)
     
    End Sub
     
     
    Function SansCaracteresSpeciaux(ByVal ChaineATraiter As String) As String
     
    Dim I As Integer
     
        SansCaracteresSpeciaux = ""
        For I = 1 To Len(ChaineATraiter)
            Select Case Mid(ChaineATraiter, I, 1)
                   Case "'", "?", ".", "<", ">", "!", ":", Chr(10), Chr(11), Chr(13)
     
                   Case Else
                        SansCaracteresSpeciaux = SansCaracteresSpeciaux & Mid(ChaineATraiter, I, 1)
            End Select
        Next I
     
    End Function

  8. #8
    Candidat au Club
    Homme Profil pro
    Production TV
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Production TV
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci Eric, c'est un script à conserver précieusement.

    Bonne semaine.

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

Discussions similaires

  1. [XL-2010] Range.Columns.Count - Erreur de compilation - Utilisation incorrecte de la propriété
    Par Dédé6621 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/10/2016, 14h23
  2. [XL-2007] Erreur de compilation: Qualificateur incorrect
    Par chombriko dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/05/2012, 17h06
  3. Réponses: 20
    Dernier message: 30/09/2009, 10h15
  4. Erreur dans vbscript : caractère incorrect
    Par mekongboy dans le forum VBScript
    Réponses: 6
    Dernier message: 20/07/2007, 12h09
  5. [VB6] erreur de compilation:utilisation incorrecte du mot clé New
    Par fouf_01 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 17/05/2006, 16h22

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