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 :

[VBA-E2000] Problème avec les signets (bookmarks)


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut [VBA-E2000] Problème avec les signets (bookmarks)
    Bonjour, je cherche à partir d'un fichier Excel à ouvrir un fichier Word et remplir les signets correspondants à partir de différentes valeurs.

    Voici mon code :

    les variables appWord, docWord et Doc sont des variables publiques prédifinies par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public appWord As Word.Application
    Public docWord As Word.Document
    Public Const Doc = (adresse du fichier)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub OuvrirFichierWord()
     
    Set appWord = CreateObject("Word.application")
    appWord.Visible = True
     
    Set docWord = appWord.Documents.Open(Doc)
    If docWord.Bookmarks.Exists(test) Then
        docWord.Bookmarks(test).Range.Text = textesignet
    End If
     
    End Sub
    La procédure ouvre correctement mon fichier word mais ne remplit pas le signet quelqu'un peut - il m'expliquer pourquoi ? quelle erreur existe t il ?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    en effet dans le 1er cas test correspond en fait au nom de mon signet dans word tandis que testsignet serait le texte que je souhaiterais y insérer (donc à metttre entre guillements je suppose)

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Autre pb
    Tu mets
    docWord.Bookmarks(test).Range.Text = textesignet
    et là, je ne comprends pas ce que tu veux faire.
    Pour aller sur un signet, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Selection.GoTo What:=wdGoToBookmark, Name:="test"
    Text n'est pas une propriété de Bookmark
    Si c'est pour le créer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        with activeDocument.Bookmarks
            .add range:=selection.range, name:="test"
        end With
    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    oui exactement mais j'utilise peut etre pas les bonnes propriétés et méthodes

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Selection.GoTo What:=wdGoToBookmark, Name:="test"
    With Selection
        .InsertAfter "texte ajouté"
        .Collapse Direction:=wdEnd
    End With
    Ainsi tu atteins ton signet et tu insères le texte juste après

    A+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    OK j'ai compris le principe de la recherche puis de l'insertion. Mais pour l'utilisation de sélection il doit être préfixé de docWord ou appWord ou rien du tout ? car sinon jai une erreur VBA comme quoi objet inexistant

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Si tu écris le code tel que je te l'ai donné, "je" n'ai pas d'erreur.
    Maintenant, si tu instancies ton doc, tu dois en tenir compte dans les deux cas, pour atteindre ton signet et pour ajouter ton texte.

    A+

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    Excel me met ce message :

    Erreur d'exécution 438

    Propriété ou méthode non gérée par cet objet

    j'utilise Office 2000

Discussions similaires

  1. Problème avec les apostrophes dans le sql en VBA
    Par cyrilboulan dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/03/2017, 10h11
  2. Réponses: 2
    Dernier message: 27/03/2015, 16h26
  3. Problème avec les signets
    Par d3nis1905 dans le forum Word
    Réponses: 6
    Dernier message: 28/01/2008, 22h42
  4. [VBA-E] Problème avec les zones de listes
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/05/2007, 18h34

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