[Macro Excel] Pb copier/coller depuis Word
ML08
-
ML0808 -
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
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
-
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?
-
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