Bonjour,
Tout est dans le titre : comment en VBA sélectionner d'un signet à un saut de page ou
pour le dernier à la fin du document ?
[Réponse faite sur le forum public Word :
Bonjour,
Tout est dans le titre : comment en VBA sélectionner d'un signet à un saut de page ou
pour le dernier à la fin du document ?
[Réponse faite sur le forum public Word :
Bonjour,
Tout est dans le titre : comment en VBA sélectionner d'un signet à un saut de page ou
pour le dernier à la fin du document ?
[Réponse faite sur le forum public Word :
Bonjour CamilleBonjour,
Tout est dans le titre : comment en VBA sélectionner d'un signet à un
saut de page ou pour le dernier à la fin du document ?
Il peut y avoir des solutions différentes selon que le saut de page est
"manuel" ou si vous voulez dire "du signet jusqu'à la fin de la page où
est le signet".
Dans le dernier cas, je pense qu'on devrait pouvoir utiliser le signet
prédéfini /page après avoir positionné le point d'insertion dans la page.
Dans le premier, il faut réfléchir, donc pour éviter de se fatiguer
inutilement, attendons votre complément.[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Bonjour Camille
Bonjour,
Tout est dans le titre : comment en VBA sélectionner d'un signet à un
saut de page ou pour le dernier à la fin du document ?
Il peut y avoir des solutions différentes selon que le saut de page est
"manuel" ou si vous voulez dire "du signet jusqu'à la fin de la page où
est le signet".
Dans le dernier cas, je pense qu'on devrait pouvoir utiliser le signet
prédéfini /page après avoir positionné le point d'insertion dans la page.
Dans le premier, il faut réfléchir, donc pour éviter de se fatiguer
inutilement, attendons votre complément.
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Bonjour CamilleBonjour,
Tout est dans le titre : comment en VBA sélectionner d'un signet à un
saut de page ou pour le dernier à la fin du document ?
Il peut y avoir des solutions différentes selon que le saut de page est
"manuel" ou si vous voulez dire "du signet jusqu'à la fin de la page où
est le signet".
Dans le dernier cas, je pense qu'on devrait pouvoir utiliser le signet
prédéfini /page après avoir positionné le point d'insertion dans la page.
Dans le premier, il faut réfléchir, donc pour éviter de se fatiguer
inutilement, attendons votre complément.[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Il s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
Il s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
Il s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
Bonjour CamilleIl s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
Naturellement, mais cela ne me semble pas nécessaire.
Il me semble qu'il vaudrait mieux rechercher le saut de page manuel qui
suit le signet.
Voici un exemple de code, qui devrait s'adapter facilement à votre cas :
Sub SelectionAuSautDePage()
Dim SautTrouvé As Boolean
Dim Fin As Range
Dim MaSélection As Range
Dim ZoneRecherche As Range
Dim Signet As String
Signet = "MonSignet"
With ActiveDocument
' zone de recherche du signet à la fin du document
Set ZoneRecherche = _
.Range(Start:=.Bookmarks(Signet).Range.Start, _
End:=.Bookmarks("EndOfDoc").Range.End)
' recherche du saut de page manuel qui suit
ZoneRecherche.Find.ClearFormatting
With ZoneRecherche.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = ZoneRecherche.Find.Execute
If SautTrouvé Then
Set Fin = ZoneRecherche
Else
' pas trouvé : fin = fin du document
Set Fin = .Bookmarks("EndOfDoc").Range
End If
' +1 pour inclure le saut de page dans la sélection
Set MaSélection = _
.Range(.Bookmarks(Signet).Range.Start, _
Fin.End + 1)
MaSélection.Select
End With
End Sub[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Bonjour Camille
Il s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
Naturellement, mais cela ne me semble pas nécessaire.
Il me semble qu'il vaudrait mieux rechercher le saut de page manuel qui
suit le signet.
Voici un exemple de code, qui devrait s'adapter facilement à votre cas :
Sub SelectionAuSautDePage()
Dim SautTrouvé As Boolean
Dim Fin As Range
Dim MaSélection As Range
Dim ZoneRecherche As Range
Dim Signet As String
Signet = "MonSignet"
With ActiveDocument
' zone de recherche du signet à la fin du document
Set ZoneRecherche = _
.Range(Start:=.Bookmarks(Signet).Range.Start, _
End:=.Bookmarks("EndOfDoc").Range.End)
' recherche du saut de page manuel qui suit
ZoneRecherche.Find.ClearFormatting
With ZoneRecherche.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = ZoneRecherche.Find.Execute
If SautTrouvé Then
Set Fin = ZoneRecherche
Else
' pas trouvé : fin = fin du document
Set Fin = .Bookmarks("EndOfDoc").Range
End If
' +1 pour inclure le saut de page dans la sélection
Set MaSélection = _
.Range(.Bookmarks(Signet).Range.Start, _
Fin.End + 1)
MaSélection.Select
End With
End Sub
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Bonjour CamilleIl s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
Naturellement, mais cela ne me semble pas nécessaire.
Il me semble qu'il vaudrait mieux rechercher le saut de page manuel qui
suit le signet.
Voici un exemple de code, qui devrait s'adapter facilement à votre cas :
Sub SelectionAuSautDePage()
Dim SautTrouvé As Boolean
Dim Fin As Range
Dim MaSélection As Range
Dim ZoneRecherche As Range
Dim Signet As String
Signet = "MonSignet"
With ActiveDocument
' zone de recherche du signet à la fin du document
Set ZoneRecherche = _
.Range(Start:=.Bookmarks(Signet).Range.Start, _
End:=.Bookmarks("EndOfDoc").Range.End)
' recherche du saut de page manuel qui suit
ZoneRecherche.Find.ClearFormatting
With ZoneRecherche.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = ZoneRecherche.Find.Execute
If SautTrouvé Then
Set Fin = ZoneRecherche
Else
' pas trouvé : fin = fin du document
Set Fin = .Bookmarks("EndOfDoc").Range
End If
' +1 pour inclure le saut de page dans la sélection
Set MaSélection = _
.Range(.Bookmarks(Signet).Range.Start, _
Fin.End + 1)
MaSélection.Select
End With
End Sub[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Bonjour CamilleIl s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
Naturellement, mais cela ne me semble pas nécessaire.
Il me semble qu'il vaudrait mieux rechercher le saut de page manuel qui
suit le signet.
Voici un exemple de code, qui devrait s'adapter facilement à votre cas :
Sub SelectionAuSautDePage()
Dim SautTrouvé As Boolean
Dim Fin As Range
Dim MaSélection As Range
Dim ZoneRecherche As Range
Dim Signet As String
Signet = "MonSignet"
With ActiveDocument
' zone de recherche du signet à la fin du document
Set ZoneRecherche = _
.Range(Start:=.Bookmarks(Signet).Range.Start, _
End:=.Bookmarks("EndOfDoc").Range.End)
' recherche du saut de page manuel qui suit
ZoneRecherche.Find.ClearFormatting
With ZoneRecherche.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = ZoneRecherche.Find.Execute
If SautTrouvé Then
Set Fin = ZoneRecherche
Else
' pas trouvé : fin = fin du document
Set Fin = .Bookmarks("EndOfDoc").Range
End If
' +1 pour inclure le saut de page dans la sélection
Set MaSélection = _
.Range(.Bookmarks(Signet).Range.Start, _
Fin.End + 1)
MaSélection.Select
End With
End Sub[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Bonjour Camille
Il s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
Naturellement, mais cela ne me semble pas nécessaire.
Il me semble qu'il vaudrait mieux rechercher le saut de page manuel qui
suit le signet.
Voici un exemple de code, qui devrait s'adapter facilement à votre cas :
Sub SelectionAuSautDePage()
Dim SautTrouvé As Boolean
Dim Fin As Range
Dim MaSélection As Range
Dim ZoneRecherche As Range
Dim Signet As String
Signet = "MonSignet"
With ActiveDocument
' zone de recherche du signet à la fin du document
Set ZoneRecherche = _
.Range(Start:=.Bookmarks(Signet).Range.Start, _
End:=.Bookmarks("EndOfDoc").Range.End)
' recherche du saut de page manuel qui suit
ZoneRecherche.Find.ClearFormatting
With ZoneRecherche.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = ZoneRecherche.Find.Execute
If SautTrouvé Then
Set Fin = ZoneRecherche
Else
' pas trouvé : fin = fin du document
Set Fin = .Bookmarks("EndOfDoc").Range
End If
' +1 pour inclure le saut de page dans la sélection
Set MaSélection = _
.Range(.Bookmarks(Signet).Range.Start, _
Fin.End + 1)
MaSélection.Select
End With
End Sub
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Bonjour CamilleIl s'agit de sauts de pages manuels.
Exixte-t'il une possibilité de les compter ?
Naturellement, mais cela ne me semble pas nécessaire.
Il me semble qu'il vaudrait mieux rechercher le saut de page manuel qui
suit le signet.
Voici un exemple de code, qui devrait s'adapter facilement à votre cas :
Sub SelectionAuSautDePage()
Dim SautTrouvé As Boolean
Dim Fin As Range
Dim MaSélection As Range
Dim ZoneRecherche As Range
Dim Signet As String
Signet = "MonSignet"
With ActiveDocument
' zone de recherche du signet à la fin du document
Set ZoneRecherche = _
.Range(Start:=.Bookmarks(Signet).Range.Start, _
End:=.Bookmarks("EndOfDoc").Range.End)
' recherche du saut de page manuel qui suit
ZoneRecherche.Find.ClearFormatting
With ZoneRecherche.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = ZoneRecherche.Find.Execute
If SautTrouvé Then
Set Fin = ZoneRecherche
Else
' pas trouvé : fin = fin du document
Set Fin = .Bookmarks("EndOfDoc").Range
End If
' +1 pour inclure le saut de page dans la sélection
Set MaSélection = _
.Range(.Bookmarks(Signet).Range.Start, _
Fin.End + 1)
MaSélection.Select
End With
End Sub[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Super, mille mercis.
J'ai réussi à me dépatouiller avec tout cela. Ce qui donne :
Pour pouvoir effectuer une boucle pour le nombre de sauts de pages
manuels est-il possible de les compter ?
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
Super, mille mercis.
J'ai réussi à me dépatouiller avec tout cela. Ce qui donne :
Pour pouvoir effectuer une boucle pour le nombre de sauts de pages
manuels est-il possible de les compter ?
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
Super, mille mercis.
J'ai réussi à me dépatouiller avec tout cela. Ce qui donne :
Pour pouvoir effectuer une boucle pour le nombre de sauts de pages
manuels est-il possible de les compter ?
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
BonjourSuper, mille mercis.
J'ai réussi à me dépatouiller avec tout cela. Ce qui donne :
Ca fonctionne bien en fin de document ?Pour pouvoir effectuer une boucle pour le nombre de sauts de pages
manuels est-il possible de les compter ?
Oui, on peut par exemple utiliser la fonction de recherche :
Sub CompteSautDePage()
Dim SautTrouvé As Boolean
Dim NbSauts As Integer
' Début du document
Selection.HomeKey Unit:=wdStory
NbSauts = 0
With ActiveDocument
Do
With Selection.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = Selection.Find.Execute
If SautTrouvé Then
NbSauts = NbSauts + 1
Else
Exit Do
End If
Loop While SautTrouvé
MsgBox NbSauts & " saut(s) de page"
End With
End Sub[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
Bonjour
Super, mille mercis.
J'ai réussi à me dépatouiller avec tout cela. Ce qui donne :
Ca fonctionne bien en fin de document ?
Pour pouvoir effectuer une boucle pour le nombre de sauts de pages
manuels est-il possible de les compter ?
Oui, on peut par exemple utiliser la fonction de recherche :
Sub CompteSautDePage()
Dim SautTrouvé As Boolean
Dim NbSauts As Integer
' Début du document
Selection.HomeKey Unit:=wdStory
NbSauts = 0
With ActiveDocument
Do
With Selection.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = Selection.Find.Execute
If SautTrouvé Then
NbSauts = NbSauts + 1
Else
Exit Do
End If
Loop While SautTrouvé
MsgBox NbSauts & " saut(s) de page"
End With
End Sub
[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+
BonjourSuper, mille mercis.
J'ai réussi à me dépatouiller avec tout cela. Ce qui donne :
Ca fonctionne bien en fin de document ?Pour pouvoir effectuer une boucle pour le nombre de sauts de pages
manuels est-il possible de les compter ?
Oui, on peut par exemple utiliser la fonction de recherche :
Sub CompteSautDePage()
Dim SautTrouvé As Boolean
Dim NbSauts As Integer
' Début du document
Selection.HomeKey Unit:=wdStory
NbSauts = 0
With ActiveDocument
Do
With Selection.Find
.Text = "^m"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
End With
SautTrouvé = Selection.Find.Execute
If SautTrouvé Then
NbSauts = NbSauts + 1
Else
Exit Do
End If
Loop While SautTrouvé
MsgBox NbSauts & " saut(s) de page"
End With
End Sub[Réponse faite sur le forum public Word :
news://msnews. microsoft.com/microsoft.public.fr.word ]
--
A+