[Macro Excel] Pb copier/coller depuis Word

ML08 -  
 ML0808 -
Bonjour à tous,

Comme mon intitulé n'est pas limpide, je vais m'expliquer:
j'ai fait une macro qui copie un paragraphe de Word vers Excel. Le problème se produit quand se paragraphe comment par un tiret comme par exemple :

- ceci est mon paragraphe.

Quand la macro le selectionne, le copie et le colle dans une cellule excel, le texte se transforme en :
=- ceci est mon paragraphe.
Il prend le tiret pour un moins et donc transforme mon paragraphe en formule, qui s'affiche logiquement dans ma feuille par #NOM?

Quelqu'un a-t-il une idée pour résoudre ce problème?
D'avance merci,
Marc
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

  1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Pourrais tu nous coller le contenu de ta macro pour qu'on voie comment c'est fait pour l'instant et où on pourrait rajouter une phrase magique?
    0
  2. ML0808
     
    Bonjour,

    Bien sûr, voivi la partie du code (la macro est longue) qui gère ça. Regardez surtout la fin...

    Merci d'avance,
    Marc

    ' *********************** Recherche *************************

    ' Trouve le mot dans le document

    wrdApp2.Selection.Find.ClearFormatting
    With wrdApp2.Selection.Find

    .ClearFormatting

    ' Mot proche
    If Proche.Value = False Then
    .Text = Mot.Value

    ' Mot exact
    If MotEx.Value = True Then
    .MatchWholeWord = True
    End If

    ' Respect de la casse
    If Casse.Value = True Then
    .MatchCase = True
    End If
    End If

    ' Mot proche
    If Proche.Value = True Then
    .Text = MotSSA
    .MatchCase = False
    .MatchSoundsLike = True
    End If

    ' Toutes les formes
    If Forme.Value = True Then
    .Text = Mot.Value
    .MatchCase = False
    .MatchAllWordForms = True
    End If

    .MatchWildcards = 0
    .Forward = 1
    .Replacement.Text = ""
    .Replacement.ClearFormatting
    .Execute ' recherche du mot1
    End With

    ' Répéter l'opération jusqu'à ce qu'un mot soit trouvé
    Do While wrdApp2.Selection.Find.Execute = True
    wrdApp2.Selection.ParaGraphs(1).Range.Select

    ' Donne le numéro du paragraphe
    Dim pg As Integer
    pg = wrdApp2.Activedocument.Range(Start:=1, End:=wrdApp2.Selection.End).ParaGraphs.Count

    ' Copie le paragraphe contenant le résultat
    wrdApp2.Selection.Copy
    ' Place le curseur à droite du paragraphe copié pour continuer la recherche dans la suite
    ' du document
    wrdApp2.Selection.Moveright , Extend:=0

    ' Colle le résultat dans la feuille "Résultat"
    RECH.Sheets("Résultats").Cells(m, 4).PasteSpecial Paste:=xlValues, Operation:=xlNone
    0