Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Référence renvoi

8 réponses
Avatar
Mima
Bonjour



Je souhaite récupérer la taille de la police utilisée dans un paragraphe.

Pour cela, j'ai écris la ligne de code suivante :



ThisDocument.Paragraphs(Compt).Range.Font.Size

Tant que les paragraphes contiennent du texte, pas de problème.

Lorsque un paragraphe contient un champ renvoi, j'ai une erreur "Dépassement
de capacité" ! (taille police = 999999999). Ca fait un peu beaucoup !



Comment faire pour savoir si le paragraphe contient un champ quelconque ?

La méthode Information ne semble pas posséder de propriété Champ



merci d'avance

8 réponses

Avatar
michdenis
Bonjour,

Si tu connais le numéro de ton paragraphe :

P = Numéro du paragraphe
x = ThisDocument.Paragraphs(P).Range.Fields.Count
if x >0 then
Msgbox "Il y a " & x & " champ(s) dans le paragraphe " & p & "."
end if




"Mima" a écrit dans le message de groupe de discussion :

Bonjour



Je souhaite récupérer la taille de la police utilisée dans un paragraphe.

Pour cela, j'ai écris la ligne de code suivante :



ThisDocument.Paragraphs(Compt).Range.Font.Size

Tant que les paragraphes contiennent du texte, pas de problème.

Lorsque un paragraphe contient un champ renvoi, j'ai une erreur "Dépassement
de capacité" ! (taille police = 999999999). Ca fait un peu beaucoup !



Comment faire pour savoir si le paragraphe contient un champ quelconque ?

La méthode Information ne semble pas posséder de propriété Champ



merci d'avance
Avatar
Mima
Bonjour
Je connais le numéro du paragrahe !
Comment faire pour savoir si le champ contenu dans le paragraphe est du type
{ Ref MonSignet h }
C'est ce type de champ qui me pose problème et je ne sais pas l'identifier




"michdenis" a écrit dans le message de news:

Bonjour,

Si tu connais le numéro de ton paragraphe :

P = Numéro du paragraphe
x = ThisDocument.Paragraphs(P).Range.Fields.Count
if x >0 then
Msgbox "Il y a " & x & " champ(s) dans le paragraphe " & p & "."
end if




"Mima" a écrit dans le message de groupe de
discussion :

Bonjour



Je souhaite récupérer la taille de la police utilisée dans un paragraphe.

Pour cela, j'ai écris la ligne de code suivante :



ThisDocument.Paragraphs(Compt).Range.Font.Size

Tant que les paragraphes contiennent du texte, pas de problème.

Lorsque un paragraphe contient un champ renvoi, j'ai une erreur
"Dépassement
de capacité" ! (taille police = 999999999). Ca fait un peu beaucoup !



Comment faire pour savoir si le paragraphe contient un champ quelconque ?

La méthode Information ne semble pas posséder de propriété Champ



merci d'avance



Avatar
michdenis
Je ne sais pas si ceci répond à ta question

Essaie ceci :

'------------------------------------
Sub test()
Dim P As Integer, X As Integer
Dim N As String
Dim MonChamp As String

P = 1 'No paragraphe
'Ucase rend la procédure non sensible à la casse
MonChamp = UCase("Ref Bozo /H")

With ThisDocument.Paragraphs(P).Range
.Select
'Affiche les fields
X = .Fields.Count
For A = 1 To X
'N représente le contenu du
'code inscrit dans le champ dans
'chacun des champs dans la boucle
If UCase(.Fields(A).Code) = MonChamp Then
.Fields(A).ShowCodes = True
MsgBox "Le champ est présent dans le paragraphe."
.Fields(A).ShowCodes = False
End If
Next
End With
End Sub
'------------------------------------



"Mima" a écrit dans le message de groupe de discussion :
#uG0#
Bonjour
Je connais le numéro du paragrahe !
Comment faire pour savoir si le champ contenu dans le paragraphe est du type
{ Ref MonSignet h }
C'est ce type de champ qui me pose problème et je ne sais pas l'identifier




"michdenis" a écrit dans le message de news:

Bonjour,

Si tu connais le numéro de ton paragraphe :

P = Numéro du paragraphe
x = ThisDocument.Paragraphs(P).Range.Fields.Count
if x >0 then
Msgbox "Il y a " & x & " champ(s) dans le paragraphe " & p & "."
end if




"Mima" a écrit dans le message de groupe de
discussion :

Bonjour



Je souhaite récupérer la taille de la police utilisée dans un paragraphe.

Pour cela, j'ai écris la ligne de code suivante :



ThisDocument.Paragraphs(Compt).Range.Font.Size

Tant que les paragraphes contiennent du texte, pas de problème.

Lorsque un paragraphe contient un champ renvoi, j'ai une erreur
"Dépassement
de capacité" ! (taille police = 999999999). Ca fait un peu beaucoup !



Comment faire pour savoir si le paragraphe contient un champ quelconque ?

La méthode Information ne semble pas posséder de propriété Champ



merci d'avance



Avatar
Mima
Bonsoir
Je suis pas tout à fait sur que ce soit bien ça, mais je verrai se que je
peux en tirer
Merci pour ta réponse, j'étudie sa demain




"michdenis" a écrit dans le message de news:

Je ne sais pas si ceci répond à ta question

Essaie ceci :

'------------------------------------
Sub test()
Dim P As Integer, X As Integer
Dim N As String
Dim MonChamp As String

P = 1 'No paragraphe
'Ucase rend la procédure non sensible à la casse
MonChamp = UCase("Ref Bozo /H")

With ThisDocument.Paragraphs(P).Range
.Select
'Affiche les fields
X = .Fields.Count
For A = 1 To X
'N représente le contenu du
'code inscrit dans le champ dans
'chacun des champs dans la boucle
If UCase(.Fields(A).Code) = MonChamp Then
.Fields(A).ShowCodes = True
MsgBox "Le champ est présent dans le paragraphe."
.Fields(A).ShowCodes = False
End If
Next
End With
End Sub
'------------------------------------



"Mima" a écrit dans le message de groupe de
discussion :
#uG0#
Bonjour
Je connais le numéro du paragrahe !
Comment faire pour savoir si le champ contenu dans le paragraphe est du
type
{ Ref MonSignet h }
C'est ce type de champ qui me pose problème et je ne sais pas l'identifier




"michdenis" a écrit dans le message de news:

Bonjour,

Si tu connais le numéro de ton paragraphe :

P = Numéro du paragraphe
x = ThisDocument.Paragraphs(P).Range.Fields.Count
if x >0 then
Msgbox "Il y a " & x & " champ(s) dans le paragraphe " & p & "."
end if




"Mima" a écrit dans le message de groupe de
discussion :

Bonjour



Je souhaite récupérer la taille de la police utilisée dans un paragraphe.

Pour cela, j'ai écris la ligne de code suivante :



ThisDocument.Paragraphs(Compt).Range.Font.Size

Tant que les paragraphes contiennent du texte, pas de problème.

Lorsque un paragraphe contient un champ renvoi, j'ai une erreur
"Dépassement
de capacité" ! (taille police = 999999999). Ca fait un peu beaucoup !



Comment faire pour savoir si le paragraphe contient un champ quelconque ?

La méthode Information ne semble pas posséder de propriété Champ



merci d'avance






Avatar
Geo
Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]
Bonjour
Je connais le numéro du paragrahe !
Comment faire pour savoir si le champ contenu dans le paragraphe est du type { Ref
MonSignet h }



Il faut faire une boucle sur tous les champs du paragraphe, et tester
si
MonChamp.Type = wdFieldRef

ceci dit, c'est un palliatif à votre problème qui vaut la peine qu'on
le creuse.

--
A+
Avatar
Geo
Re

[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Je souhaite récupérer la taille de la police utilisée dans un paragraphe.



cela suppose qu'il n'y en ait qu'une dans le paragraphe

[...]

Lorsque un paragraphe contient un champ renvoi, j'ai une erreur "Dépassement de
capacité" ! (taille police = 999999999). Ca fait un peu beaucoup !



En fait, ça se produit quand il y a plusieurs tailles utilisées dans le
paragraphe, ou plus exactement la plage indiquée.
Faites l'essai avec du texte de tailles différentes.

Comment se manifeste ce "dépassement de capacité" ?
J'ai fait ceci :
Dim T As Single
T = MonParagraphe.Range.Font.Size

T peut avoir la valeur 9999999 (7 fois le chiffre 9), et ça passe
bien.

A la limite, si vous pensez qu'il n'y a qu'une taille intéressante à
récupérer, prenez celle de la marque de paragraphe, c'est la valeur par
défaut appliquée à tout le paragraphe.
Ou prenez le premier caractère du paragraphe.
Sur un seul caractère vous n'aurez pas le 99999999.

Et pensez à préciser quelle version vous utilisez.

--
A+
Avatar
michdenis
Si c'est le type de champ que tu recherches plutôt qu'un contenu spécifique,
tu modifies la procédure soumise comme ceci :

'---------------------------------
Sub test()
Dim P As Integer, X As Integer
Dim N As String
Dim TypeRecherché As Word.WdFieldType
TypeRecherché = wdFieldRef

P = 1 'No paragraphe
'Ucase rend la procédure non sensible à la casse
MonChamp = UCase("Ref Bozo /H")

With ThisDocument.Paragraphs(P).Range
.Select
'Affiche les fields
X = .Fields.Count
For A = 1 To X
'N représente le contenu du
'code inscrit dans le champ dans
'chacun des champs dans la boucle
If .Fields(A).Type = TypeRecherché Then
.Fields(A).ShowCodes = True
MsgBox .Fields(A).Code
.Fields(A).ShowCodes = False
End If
Next
End With
End Sub
'---------------------------------



"Mima" a écrit dans le message de groupe de discussion :

Bonsoir
Je suis pas tout à fait sur que ce soit bien ça, mais je verrai se que je
peux en tirer
Merci pour ta réponse, j'étudie sa demain




"michdenis" a écrit dans le message de news:

Je ne sais pas si ceci répond à ta question

Essaie ceci :

'------------------------------------
Sub test()
Dim P As Integer, X As Integer
Dim N As String
Dim MonChamp As String

P = 1 'No paragraphe
'Ucase rend la procédure non sensible à la casse
MonChamp = UCase("Ref Bozo /H")

With ThisDocument.Paragraphs(P).Range
.Select
'Affiche les fields
X = .Fields.Count
For A = 1 To X
'N représente le contenu du
'code inscrit dans le champ dans
'chacun des champs dans la boucle
If UCase(.Fields(A).Code) = MonChamp Then
.Fields(A).ShowCodes = True
MsgBox "Le champ est présent dans le paragraphe."
.Fields(A).ShowCodes = False
End If
Next
End With
End Sub
'------------------------------------



"Mima" a écrit dans le message de groupe de
discussion :
#uG0#
Bonjour
Je connais le numéro du paragrahe !
Comment faire pour savoir si le champ contenu dans le paragraphe est du
type
{ Ref MonSignet h }
C'est ce type de champ qui me pose problème et je ne sais pas l'identifier




"michdenis" a écrit dans le message de news:

Bonjour,

Si tu connais le numéro de ton paragraphe :

P = Numéro du paragraphe
x = ThisDocument.Paragraphs(P).Range.Fields.Count
if x >0 then
Msgbox "Il y a " & x & " champ(s) dans le paragraphe " & p & "."
end if




"Mima" a écrit dans le message de groupe de
discussion :

Bonjour



Je souhaite récupérer la taille de la police utilisée dans un paragraphe.

Pour cela, j'ai écris la ligne de code suivante :



ThisDocument.Paragraphs(Compt).Range.Font.Size

Tant que les paragraphes contiennent du texte, pas de problème.

Lorsque un paragraphe contient un champ renvoi, j'ai une erreur
"Dépassement
de capacité" ! (taille police = 999999999). Ca fait un peu beaucoup !



Comment faire pour savoir si le paragraphe contient un champ quelconque ?

La méthode Information ne semble pas posséder de propriété Champ



merci d'avance






Avatar
Mima
Bonjour michdenis et Geo
J'ai maintenant la solution à mon problème et en plus, ce qui n'est pas
négligable, le pourquoi de l'erreur !
Merci à vous deux pour ces réponses pertinantes.


"Mima" a écrit dans le message de news:

Bonjour



Je souhaite récupérer la taille de la police utilisée dans un paragraphe.

Pour cela, j'ai écris la ligne de code suivante :



ThisDocument.Paragraphs(Compt).Range.Font.Size

Tant que les paragraphes contiennent du texte, pas de problème.

Lorsque un paragraphe contient un champ renvoi, j'ai une erreur
"Dépassement de capacité" ! (taille police = 999999999). Ca fait un peu
beaucoup !



Comment faire pour savoir si le paragraphe contient un champ quelconque ?

La méthode Information ne semble pas posséder de propriété Champ



merci d'avance