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

macro numérotation de lignes pour un texte sélectionné

7 réponses
Avatar
Greg
Bonjour,

J'ai voulu me créer une macro pour appliquer une numérotation de lignes à
une partie de texte. J'ai donc enregistrer l'ensemble des commandes qui
fonctionnent. Ma macro fonctionne dans mon document, mais dès que je veux
l'appliquer dans une autre document word, ça ne marche plus. Pourriez-vous
m'aider?

Voici la macro :

Sub numerotation()
'
' numerotation Macro
'
'
WordBasic.PageSetupLayout Tab:=3, PaperSize:=0, TopMargin:="2", _
BottomMargin:="2", LeftMargin:="2.5", RightMargin:="2.5",
Gutter:="0", _
PageWidth:="21", PageHeight:="29.69", Orientation:=0, FirstPage:=0,
_
OtherPages:=0, VertAlign:=0, ApplyPropsTo:=3, FacingPages:=0, _
HeaderDistance:="0", FooterDistance:="0.01", SectionStart:=0, _
OddAndEvenPages:=0, DifferentFirstPage:=0, Endnotes:=1, LineNum:=1,
_
StartingNum:=1, FromText:=wdAutoPosition, CountBy:=5, NumMode:=2, _
TwoOnOne:=0, GutterPosition:=0, LayoutMode:=0, DocFontName:="", _
FirstPageOnLeft:=0, SectionType:=1, FolioPrint:=0, ReverseFolio:=0,
_
FolioPages:=1
End Sub

Merci d'avance

Greg

7 réponses

Avatar
Geo
Bonjour Greg

Vaut mieux prendre du vrai vba.
Si vous voulez numéro les lignes du document actif en repartant à 1 en
début de page:
Selection.PageSetup.LineNumbering.Active = True

--
A+
Avatar
Greg
Bonjour et merci pour cette réponse.

Je souhaiterais ne pas repartir au début de la page mais au début de la
sélection active. Est-ce possible?

Merci encore

Greg

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

Bonjour Greg

Vaut mieux prendre du vrai vba.
Si vous voulez numéro les lignes du document actif en repartant à 1 en
début de page:
Selection.PageSetup.LineNumbering.Active = True

--
A+


Avatar
Geo
Je souhaiterais ne pas repartir au début de la page mais au début de la sélection
active. Est-ce possible?



Et numéroter toutes les lignes de la sélection seulement de 1 à n ?

--
A+
Avatar
Greg
Oui, en incrémentant toutes les 5 lignes : 5 - 10 -15 etc..

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

Je souhaiterais ne pas repartir au début de la page mais au début de la
sélection active. Est-ce possible?



Et numéroter toutes les lignes de la sélection seulement de 1 à n ?

--
A+


Avatar
Geo
Re

En fait on ne peut numéroter les lignes que par section entière.

Sub NuméroterLignes()
With Selection.PageSetup.LineNumbering
.Active = False
.CountBy = 1
.StartingNumber = 1
.RestartMode = wdRestartSection
End With
End Sub

a pour effet de numéroter toutes les lignes de la section où est la
sélection.
ce qui revient à faire, si c'est la section 1 :
Sub NuméroterLignes()
With ActiveDocument.Sections(1).PageSetup.LineNumbering
.Active = False
.CountBy = 1
.StartingNumber = 1
.RestartMode = wdRestartSection
End With
End Sub

Quoi qu'il en soit il faudra encadrer vos lignes par des sauts de
section.

--
A+
Avatar
Geo
Voir l'autre réponse, en modifiant le countBy

--
A+
Avatar
Greg
Merci Géo pour ton aide!

J'ai juste remplacé à la deuxième ligne

.Active = False

par

.Active = True

et tout va bien!

Merci encore

Greg

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

Re

En fait on ne peut numéroter les lignes que par section entière.

Sub NuméroterLignes()
With Selection.PageSetup.LineNumbering
.Active = False
.CountBy = 1
.StartingNumber = 1
.RestartMode = wdRestartSection
End With
End Sub

a pour effet de numéroter toutes les lignes de la section où est la
sélection.
ce qui revient à faire, si c'est la section 1 :
Sub NuméroterLignes()
With ActiveDocument.Sections(1).PageSetup.LineNumbering
.Active = False
.CountBy = 1
.StartingNumber = 1
.RestartMode = wdRestartSection
End With
End Sub

Quoi qu'il en soit il faudra encadrer vos lignes par des sauts de section.

--
A+