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 :

couper/coller entre deux signets word via excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Par défaut couper/coller entre deux signets word via excel
    bonjour

    J'aimerais pouvoir coller un texte créé à partir de données excel dans un document word le problème étant que je dois couper d'abord le texte qui était à la place avant
    J'ai donc créer deux signets word je sais comment se placer sur le premier signet mais je ne vois pas comment couper l'ancien texte et coller le nouveau àla place merci de votre aide

    J'avais mis delestage croyant avir trouve mais en fait non ...dommage
    J'ai reussi à couper mon ancien texte entre mes deux signets le problème c'est que quand je copie mon nouveau texte il ne le met pas entre les deux signets mais apres le signet "fin" je me retrouve donc avec mes deux signets à suivre ce qui fait que si je me ressert du même fichier je ne peux plus couper ce que je veux car il n'y a plus rien entre les deux signets

    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
    Sub copie()
    Dim appWD As Word.Application
    Dim docWord As Word.Document
    Dim texte As String
     
    Set appWD = CreateObject("Word.Application")
     
    texte = Chr(10) & "texte"
    appWD.Visible = True
    'ouverture doc word
    Set docWord = appWD.Documents. _
    Open("mondocument.doc", ReadOnly:=False)
     
        'selection de la plage entre les deux signet
        X = docWord.Bookmarks("debut").Start
        Y = docWord.Bookmarks("fin").End
        'couper le texte existant entre les deux signets
        Set Plage = docWord.Range(Start:=X, End:=Y)
        Plage.Cut
        'copier le texte au niveau du signet debut
          docWord.GoTo What:=wdGoToBookmark, Name:="debut"
        docWord.Bookmarks("debut").Range.Text = texte
      Application.DisplayAlerts = False
        appWD.Quit
      Application.DisplayAlerts = True
     End Sub

  2. #2
    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
    Par défaut
    En attendant qu'on te ponde une réponse adaptée à ton problème, regarde , tu as tout ce qu'il faut pour le faire. Sans vouloir développer, la solution passe par "ExtendMode"
    Avec Wrd As Word.Application, ça devrait donner un truc comme ça :
    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
    Dim Wrd As Word.Application
    '.....
    'ton code pour ouvrir
    '.....
        With Wrd.Selection
            .Goto What:=wdGoToBookmark, Name:="Signet1"
        End With
        With Wrd.Selection
            .ExtendMode = True 'Étend la sélection au signet suivant
            .Goto What:=wdGoToBookmark, Name:="Signet2"
        End With
        Wrd.Selection.delete Unit:=wdCharacter, Count:=1
        'Copie du texte dans Excel
        '...
        Wrd.Selection.Paste
    Pas testé, juste pour le principe
    A+

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Par défaut
    Merci de ton aide mais en fait avec la methode extend les signets sont toujours l'un à la suite de l'autre donc à la prochaine execution de la macro je me retrouve toujours avec le même problème
    Je ne perds pas espoir de trouver la solution aujourd'hui...

  4. #4
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Par défaut
    J'ai trouve la solution par contre je n'utilisa pas de signet du coup mais c'est pas grave ca fait ce que je veux c'est le plus important...Merci ouskel'nor

    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
    Sub copie()
    Dim appWD As Word.Application
    Dim docWord As Word.Document
    Dim texte As String
    Dim debut As String, fin As String
     
    debut = "<<debut"
    fin = "fin>>"
    Set appWD = CreateObject("Word.Application")
    texte1 = "texte222"
    texte = "<<debut" & Chr(10) & texte1 & Chr(10) & "fin>>"
    appWD.Visible = True
     
    'ouverture doc word
    Set docWord = appWD.Documents. _
    Open("mondoc.doc", ReadOnly:=False)
     
        'recherche le texte <<debut
        With appWD.Selection.Find
            .Text = debut
            .Execute
        End With
        'recherche le texte fin>>
        With appWD.Selection
            .ExtendMode = True 'Étend la sélection à la balise suivante
            With .Find
                .Text = fin
                .Execute
            End With
        End With
        'ajout du texte
        appWD.Selection = texte
    End Sub

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

Discussions similaires

  1. [XL-2010] Copier/coller Entre deux classeurs excel VBA
    Par Benjen dans le forum Excel
    Réponses: 11
    Dernier message: 19/09/2014, 15h58
  2. Copier coller entre deux fichiers excel par macro
    Par miss-o-21 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2009, 14h45
  3. Modifier le texte d'un signet word via Excel
    Par yamat dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 31/07/2008, 18h19
  4. [VBA Word] Sélectionner du texte entre deux signets
    Par sat478 dans le forum VBA Word
    Réponses: 1
    Dernier message: 29/06/2006, 12h36
  5. coller une plage dans word depuis excel
    Par tarmin dans le forum VBA Word
    Réponses: 7
    Dernier message: 18/01/2006, 10h16

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