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 :

String trop longue


Sujet :

VBA Word

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    570
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 570
    Points : 97
    Points
    97
    Par défaut String trop longue
    Bonjour,

    J'ai dans mon doc Word une petite fonction qui permet de mettre a jour un signet.
    Ci-dessous la function :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub UpdateBookmark(BookmarkToUpdate As String, TextToUse As String)
        Dim BMRange As Range
        Set BMRange = ActiveDocument.Bookmarks(BookmarkToUpdate).Range
        BMRange.Text = TextToUse
        ActiveDocument.Bookmarks.Add BookmarkToUpdate, BMRange
    End Sub
    Et bing l'erreur : "Erreur de Compilation : Erreur de syntaxe"
    Puis l’aperçu de la ou ca plante .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TmpDDE()
        
                    Dim BMRange As Range
                    Set BMRange = ActiveDocument.Bookmarks("DDDDD").Range
                    BMRange.Text = _
            "Le Mistral, grand absent des discussions franco-russes. Ce devait être l'un des fils rouges de ce sommet du G20 à Brisbane pour la France. Entre le réchauffement climatique et la situation ukrainienne, François Hollande devait aussi gérer le dossier des contrats de navires Mistral à la Russie. Des navires de guerre que la France s'était engagée à livrer à Moscou en 2011. Sauf que depuis, les ingérences russes dans l'est de l'Ukraine et les positions diplomatiques ambivalentes du Kremlin ont réveillé les réticences de Paris. Le Mistral, grand absent des discussions franco-russes. Ce devait être l'un des fils rouges de ce sommet du G20 à Brisbane pour la France. Entre le réchauffement climatique et la situation ukrainienne, François Hollande devait aussi gérer le dossier des contrats de navires Mistral à la Russie. Des navires de guerre que la France s'était engagée à livrer à Moscou en 2011. Sauf que depuis, les ingérences russes dans l'est de l'Ukraine et les positions diplomatiques ambivalente" & _
    
            "s du Kremlin ont réveillé les réticences de Paris."
                    ActiveDocument.Bookmarks.Add "DDDDD", BMRange
    End Sub
    Je pense que la taille de ma string est trop longue, mais comment gérer cela

    Une idée ? Merci d'avance

    Thais

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par thais781 Voir le message
    Bonjour,

    J'ai dans mon doc Word une petite fonction qui permet de mettre a jour un signet.
    Ci-dessous la function :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub UpdateBookmark(BookmarkToUpdate As String, TextToUse As String)
        Dim BMRange As Range
        Set BMRange = ActiveDocument.Bookmarks(BookmarkToUpdate).Range
        BMRange.Text = TextToUse
        ActiveDocument.Bookmarks.Add BookmarkToUpdate, BMRange
    End Sub
    Et bing l'erreur : "Erreur de Compilation : Erreur de syntaxe"
    Puis l’aperçu de la ou ca plante .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TmpDDE()
        
                    Dim BMRange As Range
                    Set BMRange = ActiveDocument.Bookmarks("DDDDD").Range
                    BMRange.Text = _
            "Le Mistral, grand absent des discussions franco-russes. Ce devait être l'un des fils rouges de ce sommet du G20 à Brisbane pour la France. Entre le réchauffement climatique et la situation ukrainienne, François Hollande devait aussi gérer le dossier des contrats de navires Mistral à la Russie. Des navires de guerre que la France s'était engagée à livrer à Moscou en 2011. Sauf que depuis, les ingérences russes dans l'est de l'Ukraine et les positions diplomatiques ambivalentes du Kremlin ont réveillé les réticences de Paris. Le Mistral, grand absent des discussions franco-russes. Ce devait être l'un des fils rouges de ce sommet du G20 à Brisbane pour la France. Entre le réchauffement climatique et la situation ukrainienne, François Hollande devait aussi gérer le dossier des contrats de navires Mistral à la Russie. Des navires de guerre que la France s'était engagée à livrer à Moscou en 2011. Sauf que depuis, les ingérences russes dans l'est de l'Ukraine et les positions diplomatiques ambivalente" & _
    
            "s du Kremlin ont réveillé les réticences de Paris."
                    ActiveDocument.Bookmarks.Add "DDDDD", BMRange
    End Sub
    Je pense que la taille de ma string est trop longue, mais comment gérer cela

    Une idée ? Merci d'avance

    Thais
    À mon avis, tu n'aurais pas une erreur de syntaxe pour un texte trop long. Dans un premier temps, commence par enlever la ligne vide entre tes deux bouts de texte.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je pense que ton problème n'est pas une question de longueur.
    Je viens d'essayer avec 5000 caractères et ça passe sans erreur.

    Le conseil de kiki29 devrait apporter une solution à ton soucis.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    570
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 570
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Merci pour votre aide.

    J'ai fais un test, avec le texte ci-dessous, ca passe nickel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Le Mistral, grand absent des discussions franco-russes. Ce devait être l'un des fils rouges de ce sommet du G20 à Brisbane pour la France. Entre le réchauffement climatique et la situation ukrainienne, François Hollande devait aussi gérer le dossier des contrats de navires Mistral à la Russie. Des navires de guerre que la France s'était engagée à livrer à Moscou en 2011. Sauf que depuis, les ingérences russes dans l'est de l'Ukraine et les positions diplomatiques ambivalentes du Kremlin ont réveillé les réticences de Paris. Le Mistral, grand absent des discussions franco-russes. Ce devait être l'un des fils rouges de ce sommet du G20 à Brisbane pour la France. Entre le réchauffement climatique et la situation ukrainienne, François Hollande devait aussi gérer le dossier des contrats de navires Mistral à la Russie. Des navires de guerre que la France s'était engagée à livrer à Moscou en 2011. Sauf que depuis, les ingérences russes dans l'est de l'Ukraine et les  positions positions positions 123"
    Par contre, si je rajoute 1 caractère à la fin, ca bug

    Point peut être important, ma fonction UpdateBookmark est appelé via un script externe : AppleScript
    Pour info, mon code AppleScript permettant cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    on ModifyWordSignet(SignetName, Texte)
    	tell application "Microsoft Word"
    		activate
    		tell active document
    			«event MSWDdovb» "
    			Dim BMRange As Range
    			Set BMRange = ActiveDocument.Bookmarks(\"" & SignetName & "\").Range
    			BMRange.Text = \"" & Texte & "\"
    			ActiveDocument.Bookmarks.Add \"" & SignetName & "\", BMRange"
    		end tell
    	end tell
    end ModifyWordSignet

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par thais781 Voir le message
    Bonjour,


    Par contre, si je rajoute 1 caractère à la fin, ca bug
    Ma boule de cristal est en panne. (Celles de Heureux-Oli et de Kiki29 , je ne sais pas.)

    Il se passe quoi ?
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    570
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 570
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Et bien la meme chose que dans mon premier post, j'arrive dans la fonction TmpDDE avec le texte en rouge ....


    Thais

Discussions similaires

  1. [AJAX] Avec IE, une string trop longue ne passe pas
    Par cels dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/10/2007, 16h24
  2. SQL String // Chaine de caractères trop longue
    Par Didier100 dans le forum Bases de données
    Réponses: 7
    Dernier message: 17/10/2005, 21h57
  3. Erreur ORA-01704 : constante de chaine trop longue
    Par verrec_s dans le forum Oracle
    Réponses: 22
    Dernier message: 13/12/2004, 15h30
  4. [TP]Probleme de ligne trop longue
    Par poppels dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 24/09/2004, 06h36
  5. chaine trop longue pour envoyer en socket?
    Par jeje.r dans le forum C++Builder
    Réponses: 10
    Dernier message: 27/06/2003, 16h36

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