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 :

rechercher valeur dans word et la remplacer par une autre depuis excel


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Juillet 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Juillet 2015
    Messages : 19
    Points : 9
    Points
    9
    Par défaut rechercher valeur dans word et la remplacer par une autre depuis excel
    Bonjour,

    J'ai bidouiller à partir de macro existant une macro pour rechercher à partir de excel une valeur dans word et la remplacer par une autre copier depuis excel.
    Le probleme c'est la fonction recherche qui marche pas



    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Sub EnvoyerDonneesExcelVersWord()
     
         Dim DocWord   As Word.Document
     
         Dim AppWord   As Word.Application
     
         Set AppWord = New Word.Application
     
         Application.DisplayAlerts = True
     
         AppWord.ShowMe
     
         AppWord.Visible = True
     
         Dim Cible As String
     
         Dim CollWord As Word.Words
     
         Dim x As Long
     
     
    'Ouvre une instance Word
    Set AppWord = New Word.Application
    'Indiquez False pour garder l'application masquée
    AppWord.Visible = True
     
            'Chargement du fichier word contenant le même nom que l'équipement du poste
        valeur = Range("D1").Value
    Set DocWord = AppWord.Documents.Open("C:\Desktop\" & valeur & ".docx")
    Set CollWord = DocWord.Content.Words
     
          ' Copie les données Excel
          ThisWorkbook.Worksheets("test").Range("B14").Select
        Selection.Copy
        Texte = ActiveCell.Value
     
          ' Recherche la valeur dans Word
     
    'Recherche la valeur [A] dans Word et remplace la valeur [A] par la valeur texte
    For x = 1 To CollWord.Count - 2
        If InStr(1, CollWord(x) & CollWord(x + 1), _
            "[A]") > 0 Then MsgBox CollWord(x + 2)
     
     
    End Sub

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Cette question devrait se trouver dans la rubrique VBA Word puisque c'est d'objets Word qu'il s'agit.

    Je ne connais pas très bien les manipulations dans Word mais je suppose qu'il doit être possible en VBA d'accéder à sa fonction de recherche, ce qui faciliterait grandement ce que tu veux faire.
    J'ai jeté un coup d'oeil rapide dans l'aide VBA Word pour les objets Document et Range sans trouver la méthode qui permet de faire ça, l'enregistreur automatique de Word est vraiment xxx (remplacer "xxx" par la pire insulte qui vous vienne à l'esprit) et ne peut pas fournir une piste.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    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 Menhir Voir le message
    Cette question devrait se trouver dans la rubrique VBA Word puisque c'est d'objets Word qu'il s'agit.
    et Range sans trouver la méthode qui permet de faire ça,
    On peut appeler l'objet Find de Word autant à partir de l'objet Range que de l'objet selection.

    Des exemples par là

    Mais comme sous bien des aspects VBA est une implantation disons imparfaite (déficiente, incomplète, partielle) de la POO; Find est donc une propriété et non une méthode des objets Range et Selection.

    https://msdn.microsoft.com/fr-fr/vba...-property-word

    l'enregistreur automatique de Word est vraiment xxx (remplacer "xxx" par la pire insulte qui vous vienne à l'esprit)
    Quand même pas à ce point-là. Le gros problème de l'enregistreur de macros de Word c'est qu'il ne supporte pas les manipulations à la souris dans le document lui-même. Il la supporte seulement dans les boîtes de dialogue et peut-être dans le Ruban. Il faut donc manipuler le texte au clavier. Pour le reste, il n'est pas si mal.
    À 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.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2014, 11h47
  2. [XL-2003] Recherche Partielle dans un Range/Cell indexé par une variable.
    Par gicquelmaxime dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/11/2012, 14h05
  3. Réponses: 2
    Dernier message: 26/05/2010, 11h23
  4. extraire une chaine et remplacer par une autre
    Par D.Mounir dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/06/2007, 20h04
  5. Police remplacée par une autre
    Par unreal2me dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 02/02/2007, 23h50

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