Référence renvoi

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #21006591
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"
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
Mima
Le #21006871
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"
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" 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



michdenis
Le #21007421
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" #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"
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" 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



Mima
Le #21007611
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"
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" 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"
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" 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






Geo
Le #21008261
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+
Geo
Le #21008431
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+
michdenis
Le #21008711
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"
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"
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" 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"
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" 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






Mima
Le #21012941
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"
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




Publicité
Poster une réponse
Anonyme