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

Affichage des nombres dans WORD

5 réponses
Avatar
XLT974
Comment obtenir la séparation automatique des milliers dans word lorsque l'on
tape des nombres ?

5 réponses

Avatar
AB
Bonjour,
Même si certains décident de te répondre, merci de consulter cette page, et
de revenir ensuite :
http://faqword.free.fr/articles.php?lng=fr&pg30
AB

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

Comment obtenir la séparation automatique des milliers dans word lorsque
l'on
tape des nombres ?


Avatar
XLT974
Bonjour AB
Je n'ai pas compris l'allusion.
Je maintiens ma question. Merci infiniment d'avance pour une - hypothétique
- réponse !


Bonjour,
Même si certains décident de te répondre, merci de consulter cette page, et
de revenir ensuite :
http://faqword.free.fr/articles.php?lng=fr&pg30
AB

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

Comment obtenir la séparation automatique des milliers dans word lorsque
l'on
tape des nombres ?







Avatar
AB
Rebonjour,

Tu as atterri ici via CDO, c'est à dire l'interface web de Microsoft, qui
aboutit à ce que les utilisateurs ayant besoin d'aide s'adressent sur ce
forum aux bénévoles qui l'animent comme s'ils s'adressaient à la hot line de
l'éditeur, ou à l'aide de leur logiciel.
Nous nous battons contre cela depuis pas mal de temps, et avons décidé de
rediriger les "malpolitus" (ou "malpoliti" si l'on veut se la jouer
latiniste) comme toi vers cette page. Nous essayons en effet de maintenir un
minimum de civilité sur ce forum.
N'en prends pas ombrage : c'est contre Microsoft que nous luttons, pas
contre les gens comme toi, qui arrivent ici en toute innocence.
Concernant ta question, je ne connais pas d'autre façon que celle qui
consiste, au lieu de taper directement les nombres dans un tableau, de faire
Tableau/Formule/et de taper le nombre, puis de choisir le format qui va
bien.
C'est assez nul. Il est bien préférable de taper tes tableaux dans Excel, de
les formater, puis de les copier/coller dans Word.
Si tu ne peux pas utiliser Excel, tu auras plus vite fait de taper
directement tes nombres, en insérant un espace insécable (CTRM+MAJ+Espace)
comme séparateur.
Sinon, la macro suivante te permettra de formater des nombres entrés
directement san formatage dans Word :
AB

Sub FormatageNombre()
If Selection.Information(wdWithInTable) = True Then
debut:
EntreeDefaut = "2"
NbDec = InputBox("Combien de décimales (0 à 9) ?", "Formatage d'un
nombre", EntreeDefaut)
If Not IsNumeric(NbDec) Then
MsgBox ("Entrez un nombre de 0 à 9")
GoTo debut
End If
Select Case (NbDec)
Case 0
a = ""
Case 1
a = ".0"
Case 2
a = ".00"
Case 3
a = ".000"
Case 4
a = ".0000"
Case 5
a = ".00000"
Case 6
a = ".000000"
Case 7
a = ".0000000"
Case 8
a = ".00000000"
Case 9
a = ".000000000"
End Select
With Selection
ligneDebut = .Information(wdStartOfRangeRowNumber)
colonneDebut = .Information(wdStartOfRangeColumnNumber)
Lignefin = .Information(wdEndOfRangeRowNumber)
colonneFin = .Information(wdEndOfRangeColumnNumber)
End With
For i = ligneDebut To Lignefin
For j = colonneDebut To colonneFin
acount = ActiveDocument.Range(0, Selection.Range.End).Tables.Count
ActiveDocument.Tables(acount).Cell(i, j).Select
GoSub SelectionCellule
For z = 1 To Len(Contenu) - 2
T = Mid(Contenu, z, 1)
Code = Asc(T)
If (Code < 48 Or Code > 57) And (Code <> 45 And Code <> 46 And Code <> 44
And Code <> 32) Then GoTo 110
Next z
If Terme1 < 33 Or Terme1 = 45 Then 'élimination des blancs éventuels en
début de texte
GoSub SuppressionBlancs
End If
Selection.Find.Execute Findtext:=",", replacewith:=".",
Replace:=wdReplaceAll
'GoSub SelectionCellule
If Terme1 = 43 Then 'élimine le + et les espaces après éventuels
Selection.Find.Execute Findtext:=Chr(Terme1), replacewith:="",
Replace:=wdReplaceAll
GoSub SuppressionBlancs
End If
GoSub SelectionCellule
If (Terme1 > 47 And Terme1 < 58) Then
GoSub SuppressionBlancs 'élimination des séparateurs éventuels dans les
nombres
End If
GoSub SelectionCellule
If Val(Contenu) = 0 Then Selection.Delete: Selection.InsertAfter ("")
If Terme1 = 45 Or Terme1 = 48 Or (Terme1 > 48 And Terme1 < 58) Then
Selection.Text = Format(Val(Selection.Text), "### ### ### ##0" & a)
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
End If
110:
Next j
Next i

GoTo fin

SelectionCellule:
Contenu = Selection.Text
Terme1 = Asc(Contenu)
Return

SuppressionBlancs:
Selection.Find.Execute Findtext:=" ", replacewith:="", Replace:=wdReplaceAll
Return
Else
MsgBox "Mettre le point d'insertion dans un tableau"
End If
fin:
End Sub

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

Bonjour AB
Je n'ai pas compris l'allusion.
Je maintiens ma question. Merci infiniment d'avance pour une -
hypothétique
- réponse !


Bonjour,
Même si certains décident de te répondre, merci de consulter cette page,
et
de revenir ensuite :
http://faqword.free.fr/articles.php?lng=fr&pg30
AB

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

Comment obtenir la séparation automatique des milliers dans word
lorsque
l'on
tape des nombres ?









Avatar
XLT974
Merci infiniment pour ta réponse. Mes plus plates excuses concernant mon
intrusion -bien involontaire - dans le forum. je mettrai à profit les astuces
que tu as bien voulu me donner. Bonne continuation!


Rebonjour,

Tu as atterri ici via CDO, c'est à dire l'interface web de Microsoft, qui
aboutit à ce que les utilisateurs ayant besoin d'aide s'adressent sur ce
forum aux bénévoles qui l'animent comme s'ils s'adressaient à la hot line de
l'éditeur, ou à l'aide de leur logiciel.
Nous nous battons contre cela depuis pas mal de temps, et avons décidé de
rediriger les "malpolitus" (ou "malpoliti" si l'on veut se la jouer
latiniste) comme toi vers cette page. Nous essayons en effet de maintenir un
minimum de civilité sur ce forum.
N'en prends pas ombrage : c'est contre Microsoft que nous luttons, pas
contre les gens comme toi, qui arrivent ici en toute innocence.
Concernant ta question, je ne connais pas d'autre façon que celle qui
consiste, au lieu de taper directement les nombres dans un tableau, de faire
Tableau/Formule/et de taper le nombre, puis de choisir le format qui va
bien.
C'est assez nul. Il est bien préférable de taper tes tableaux dans Excel, de
les formater, puis de les copier/coller dans Word.
Si tu ne peux pas utiliser Excel, tu auras plus vite fait de taper
directement tes nombres, en insérant un espace insécable (CTRM+MAJ+Espace)
comme séparateur.
Sinon, la macro suivante te permettra de formater des nombres entrés
directement san formatage dans Word :
AB

Sub FormatageNombre()
If Selection.Information(wdWithInTable) = True Then
debut:
EntreeDefaut = "2"
NbDec = InputBox("Combien de décimales (0 à 9) ?", "Formatage d'un
nombre", EntreeDefaut)
If Not IsNumeric(NbDec) Then
MsgBox ("Entrez un nombre de 0 à 9")
GoTo debut
End If
Select Case (NbDec)
Case 0
a = ""
Case 1
a = ".0"
Case 2
a = ".00"
Case 3
a = ".000"
Case 4
a = ".0000"
Case 5
a = ".00000"
Case 6
a = ".000000"
Case 7
a = ".0000000"
Case 8
a = ".00000000"
Case 9
a = ".000000000"
End Select
With Selection
ligneDebut = .Information(wdStartOfRangeRowNumber)
colonneDebut = .Information(wdStartOfRangeColumnNumber)
Lignefin = .Information(wdEndOfRangeRowNumber)
colonneFin = .Information(wdEndOfRangeColumnNumber)
End With
For i = ligneDebut To Lignefin
For j = colonneDebut To colonneFin
acount = ActiveDocument.Range(0, Selection.Range.End).Tables.Count
ActiveDocument.Tables(acount).Cell(i, j).Select
GoSub SelectionCellule
For z = 1 To Len(Contenu) - 2
T = Mid(Contenu, z, 1)
Code = Asc(T)
If (Code < 48 Or Code > 57) And (Code <> 45 And Code <> 46 And Code <> 44
And Code <> 32) Then GoTo 110
Next z
If Terme1 < 33 Or Terme1 = 45 Then 'élimination des blancs éventuels en
début de texte
GoSub SuppressionBlancs
End If
Selection.Find.Execute Findtext:=",", replacewith:=".",
Replace:=wdReplaceAll
'GoSub SelectionCellule
If Terme1 = 43 Then 'élimine le + et les espaces après éventuels
Selection.Find.Execute Findtext:=Chr(Terme1), replacewith:="",
Replace:=wdReplaceAll
GoSub SuppressionBlancs
End If
GoSub SelectionCellule
If (Terme1 > 47 And Terme1 < 58) Then
GoSub SuppressionBlancs 'élimination des séparateurs éventuels dans les
nombres
End If
GoSub SelectionCellule
If Val(Contenu) = 0 Then Selection.Delete: Selection.InsertAfter ("")
If Terme1 = 45 Or Terme1 = 48 Or (Terme1 > 48 And Terme1 < 58) Then
Selection.Text = Format(Val(Selection.Text), "### ### ### ##0" & a)
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
End If
110:
Next j
Next i

GoTo fin

SelectionCellule:
Contenu = Selection.Text
Terme1 = Asc(Contenu)
Return

SuppressionBlancs:
Selection.Find.Execute Findtext:=" ", replacewith:="", Replace:=wdReplaceAll
Return
Else
MsgBox "Mettre le point d'insertion dans un tableau"
End If
fin:
End Sub

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

Bonjour AB
Je n'ai pas compris l'allusion.
Je maintiens ma question. Merci infiniment d'avance pour une -
hypothétique
- réponse !


Bonjour,
Même si certains décident de te répondre, merci de consulter cette page,
et
de revenir ensuite :
http://faqword.free.fr/articles.php?lng=fr&pg30
AB

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

Comment obtenir la séparation automatique des milliers dans word
lorsque
l'on
tape des nombres ?














Avatar
Circé
Bonjour XLT974,

Ravie de ton retour ! ;) Ça nous prouve que nous sommes sur le bon
chemin ! Bienvenue et à bientôt...

Circé
http://faqword.free.fr


XLT974 a utilisé son clavier pour écrire :
Merci infiniment pour ta réponse. Mes plus plates excuses concernant mon
intrusion -bien involontaire - dans le forum. je mettrai à profit les astuces
que tu as bien voulu me donner. Bonne continuation!


Rebonjour,

Tu as atterri ici via CDO, c'est à dire l'interface web de Microsoft, qui
aboutit à ce que les utilisateurs ayant besoin d'aide s'adressent sur ce
forum aux bénévoles qui l'animent comme s'ils s'adressaient à la hot line de
l'éditeur, ou à l'aide de leur logiciel.
Nous nous battons contre cela depuis pas mal de temps, et avons décidé de
rediriger les "malpolitus" (ou "malpoliti" si l'on veut se la jouer
latiniste) comme toi vers cette page. Nous essayons en effet de maintenir un
minimum de civilité sur ce forum.
N'en prends pas ombrage : c'est contre Microsoft que nous luttons, pas
contre les gens comme toi, qui arrivent ici en toute innocence.
Concernant ta question, je ne connais pas d'autre façon que celle qui
consiste, au lieu de taper directement les nombres dans un tableau, de faire
Tableau/Formule/et de taper le nombre, puis de choisir le format qui va
bien.
C'est assez nul. Il est bien préférable de taper tes tableaux dans Excel, de
les formater, puis de les copier/coller dans Word.
Si tu ne peux pas utiliser Excel, tu auras plus vite fait de taper
directement tes nombres, en insérant un espace insécable (CTRM+MAJ+Espace)
comme séparateur.
Sinon, la macro suivante te permettra de formater des nombres entrés
directement san formatage dans Word :
AB

Sub FormatageNombre()
If Selection.Information(wdWithInTable) = True Then
debut:
EntreeDefaut = "2"
NbDec = InputBox("Combien de décimales (0 à 9) ?", "Formatage d'un
nombre", EntreeDefaut)
If Not IsNumeric(NbDec) Then
MsgBox ("Entrez un nombre de 0 à 9")
GoTo debut
End If
Select Case (NbDec)
Case 0
a = ""
Case 1
a = ".0"
Case 2
a = ".00"
Case 3
a = ".000"
Case 4
a = ".0000"
Case 5
a = ".00000"
Case 6
a = ".000000"
Case 7
a = ".0000000"
Case 8
a = ".00000000"
Case 9
a = ".000000000"
End Select
With Selection
ligneDebut = .Information(wdStartOfRangeRowNumber)
colonneDebut = .Information(wdStartOfRangeColumnNumber)
Lignefin = .Information(wdEndOfRangeRowNumber)
colonneFin = .Information(wdEndOfRangeColumnNumber)
End With
For i = ligneDebut To Lignefin
For j = colonneDebut To colonneFin
acount = ActiveDocument.Range(0, Selection.Range.End).Tables.Count
ActiveDocument.Tables(acount).Cell(i, j).Select
GoSub SelectionCellule
For z = 1 To Len(Contenu) - 2
T = Mid(Contenu, z, 1)
Code = Asc(T)
If (Code < 48 Or Code > 57) And (Code <> 45 And Code <> 46 And Code <> 44
And Code <> 32) Then GoTo 110
Next z
If Terme1 < 33 Or Terme1 = 45 Then 'élimination des blancs éventuels en
début de texte
GoSub SuppressionBlancs
End If
Selection.Find.Execute Findtext:=",", replacewith:=".",
Replace:=wdReplaceAll
'GoSub SelectionCellule
If Terme1 = 43 Then 'élimine le + et les espaces après éventuels
Selection.Find.Execute Findtext:=Chr(Terme1), replacewith:="",
Replace:=wdReplaceAll
GoSub SuppressionBlancs
End If
GoSub SelectionCellule
If (Terme1 > 47 And Terme1 < 58) Then
GoSub SuppressionBlancs 'élimination des séparateurs éventuels dans les
nombres
End If
GoSub SelectionCellule
If Val(Contenu) = 0 Then Selection.Delete: Selection.InsertAfter ("")
If Terme1 = 45 Or Terme1 = 48 Or (Terme1 > 48 And Terme1 < 58) Then
Selection.Text = Format(Val(Selection.Text), "### ### ### ##0" & a)
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
End If
110:
Next j
Next i

GoTo fin

SelectionCellule:
Contenu = Selection.Text
Terme1 = Asc(Contenu)
Return

SuppressionBlancs:
Selection.Find.Execute Findtext:=" ", replacewith:="", Replace:=wdReplaceAll
Return
Else
MsgBox "Mettre le point d'insertion dans un tableau"
End If
fin:
End Sub

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

Bonjour AB
Je n'ai pas compris l'allusion.
Je maintiens ma question. Merci infiniment d'avance pour une -
hypothétique
- réponse !


Bonjour,
Même si certains décident de te répondre, merci de consulter cette page,
et
de revenir ensuite :
http://faqword.free.fr/articles.php?lng=fr&pg30
AB

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

Comment obtenir la séparation automatique des milliers dans word
lorsque
l'on
tape des nombres ?