Bonjour,
je suis médecin radiologue et j'ai deux macros qui fonctionnaient très bien depuis des années, qui me renvoient maintenant le messages "Erreur d'exécution '5560': le texte recherché contient un critère spécial qui n'est pas valide" à la ligne selection.find.Execute
l'une fait calcul un rapport entre 2 chiffres que je dicte:
exemple: si j'écris sur word: 135/270 et que j'envoie ma macro, elle remplace ce rapport de chiffre par sa valeur: (ex ici : "Rapport cardio-thoracique = 0,5")
voici le code:
Sub zRCT()
Dim rangeA(4)
If Selection.Start = Selection.End Then
Selection.MoveLeft unit:=wdSentence, Count:=1, Extend:=wdExtend
End If
Selection.Find.ClearFormatting
With Selection.Find
.text = "<[01234567890,]{1;}[/]"
.Replacement.text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
If Selection.Find.Found = True Then
rangeA(0) = ActiveDocument.Range
rangeA(1) = Left(Selection.text, Len(Selection.text) - 1)
Selection.Delete
End If
Selection.MoveEnd unit:=wdSentence, Count:=1
With Selection.Find
.text = "<[01234567890,]{1;}"
.Replacement.text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
If Selection.Find.Found = True Then
rangeA(0) = ActiveDocument.Range
rangeA(4) = Selection.text
Selection.Delete
End If
rangeA(2) = Int((rangeA(1) / rangeA(4)) * 100) / 100
Selection.TypeText "rapport cardio-thoracique " & rangeA(2) & ". "
End Sub
l'autre macro calcule le volume d'une sphère à partir de 3 nombres séparés par /, en fonctionnement sur le même principe. J'aurais pu avoir fait une modification du texte par erreur, mais sur 2 macros en même tps c'est très improbable.
je ne sais pas ce qui a changé dans Word ou mon ordinateur pour que cela ne fonctionne plus tout à coup... si qq peut m'aider à comprendre ?...
en vous remerciant.
Partager