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 :

VBA Excel => VBA Word


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 19
    Par défaut VBA Excel => VBA Word
    Bonjour à tous,

    Je souhaite , en gros, introduire des données dans Excel et par un code Vba :

    1- ouvrir Word
    2- me rendre à un signet prédéfini dans le document word
    3- insérer une zone de texte dans word a la place du signet
    4- la déplacer par rapport a ce signet (haut, bas, gauche, droite)
    5- insérer la valeur provenant d'Excel dans ce textbox
    6- aller a la ligne et recommencer.

    avec ce code : (qui n'est pas de moi mais que j'ai glané a gauche et a droite... respectons le droit d'auteur ;-))

    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
     
    Sub EcriDansWord()
    Dim WordObj As Object
     
    On Error Resume Next
     
     
     Set WordObj = CreateObject("Word.Application")
     
     WordObj.Visible = True
     
     WordObj.Documents.Open ("C:\test\test.docx")     '=====> ouverture de Word
     
    WordObj.Bookmarks("Nom").Selection  '=====> Selection du signet Nom
     
     Set Box = WordObj.ActiveDocument.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, Left:=50, Top:=50, Width:=100, Height:=100).Select    '=====> insertion du textbox
     
     WordObj.TypeText Text:="Procédure pour écrire dans Word "   '=======> j'espérais écrire mais ca marche pas
     
     End Sub
    Donc j'arrive a ouvrir le bon document Word ,j'arrivais (pas avec ce code) a insérer du texte derrière un signet dans un textbox prédéfini et existant dans le document Word.

    Ce que je ne trouve nul part, c'est les propriété des textbox Word, comme un nom précis pour appeler chaque texte box, je ne trouve pas non plus comment y ajouter du texte dedans, ni comment l'insérer après le signet et non en "position global" Left:=50, Top:=50

    Quelqu'un aurait il une idée?

    Merci à tous d'avance.

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    C'est pas si simple.

    Deux sortes de TextBoxes existent en Word, les Shapes et les InlineShapes.
    Les premiers sont situés sur une page par rapport à cette page.
    Les seconds sont alignés sur le texte mais ne peuvent être déplacés sans le texte.
    Si dans le second cas, on décide de change de type et de passer d'un InlineShape vers un Shape, on le positionne par rapport à la page et pas par rapport à un signet.

    On pourrait récupérer la position du signet sur la page et utiliser cette position pour placer le Shape.
    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 !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 19
    Par défaut
    arg....

    Merci pour ta réponse.

    Si je prends le problème dans un autre sens, que je crée un document word type avec tous les textbox prévu au maximum. Dans chaque textbox je place un signet. dans ma routine excel, je place le texte en fonction des signet.

    Est il possible de créer un code qui supprime les textbox vide dans word?

    Peut on aussi les sélectionner toutes et modifier leurs propriétés? Par exemple mettre le cadre sans couleurs,.....

    Merci pour ton aide.

  4. #4
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    C'est bizarre, mais quand je lis tout cela, je te dirais de faire un publipostage qui n'est pas un publipostage. Dans le fond, le publipostage c'est juste d'insérer les données d'une source de données à des endroits déterminés d'un texte. Personne n'a dit que les champs de la source de données doivent obligatoirement s'appeler Prénom, Nom, Adresse ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 19
    Par défaut
    Merci pour ta réflexion, mais...

    Ce que je souhaite c'est une mise en forme du texte du style :

    Nom : img1.jpg
Affichages : 415
Taille : 43,7 Ko


    Donc je pense que en "automatique" pour faire un alignement comme cela je dois passer par des zones de texte non? Les différents champs viennent de Excel

    Si y a d'autre idées, ne pas hésiter

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

Discussions similaires

  1. [WD-2013] Utiliser une fonction VBA excel dans vba word
    Par cedricM2o dans le forum Word
    Réponses: 2
    Dernier message: 05/05/2014, 16h14
  2. [VBA-E] Thread VBA Excel
    Par mimic50 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/02/2007, 17h35
  3. VBA-Excel: Pilotage de Word
    Par phildat dans le forum VBA Word
    Réponses: 2
    Dernier message: 11/01/2007, 14h27
  4. [VBA-E] macro VBA excel suppression graphiques
    Par totoza dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/05/2006, 08h45
  5. [VBA-E] probleme vba excel
    Par derayef dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 16/05/2006, 23h47

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