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

Dernière ligne

11 réponses
Avatar
jepac
Bonjour,

Je souhaite construire une macro pour supprimer la dernière ligne d'un
document.

Comment dois-je m'y prendre ?

Merci
Jean-Paul

10 réponses

1 2
Avatar
Geo

Bonjour,

Je souhaite construire une macro pour supprimer la dernière ligne d'un
document.

Comment dois-je m'y prendre ?

Merci
Jean-Paul


La notion de ligne n'est pas très précise dans Word.
Le dernier paragraphe ?

--
A+

Avatar
jepac
La dernière ligne est un paragraphe, alors oui.

Merci
JP



Bonjour,

Je souhaite construire une macro pour supprimer la dernière ligne d'un
document.

Comment dois-je m'y prendre ?

Merci
Jean-Paul


La notion de ligne n'est pas très précise dans Word.
Le dernier paragraphe ?

--
A+






Avatar
jepac
Dans mon cas la dernière ligne correspond à un paragraphe, vos suggestions
sont les bienvenues.

Merci pour votre aide
JP


La dernière ligne est un paragraphe, alors oui.

Merci
JP



Bonjour,

Je souhaite construire une macro pour supprimer la dernière ligne d'un
document.

Comment dois-je m'y prendre ?

Merci
Jean-Paul


La notion de ligne n'est pas très précise dans Word.
Le dernier paragraphe ?

--
A+








Avatar
jepac
Voici la macro écrite qui consiste à dupliquer une section, malheuresement
lors de la duplicatrion Word ajoute une ligne (ou un paragraphe) qui créé une
nouvelle section - j'ai inséré dans la macro de qoui supprimer la dernière
section, mais cela supprime l'avant-dernière !

JP

Sub NouvelUtilisateur()
If ActiveDocument.ReadOnly Then Exit Sub
ActiveDocument.Unprotect Password:="xxxxx"
Selection.GoTo what:=wdGoToSection, Which:=wdGoToFirst, Count:=3, Name:=""
Selection.Find.ClearFormatting
With Selection
.Sections(1).Range.Copy
.EndKey Unit:=wdStory
.InsertBreak Type:=wdSectionBreakNextPage
.Paste
End With
ActiveDocument.Sections(ActiveDocument.Sections.Count).Range.Delete

ActiveDocument.Protect Password:="xxxxx", NoReset:=True, Type:= _
wdAllowOnlyFormFields

End Sub


Dans mon cas la dernière ligne correspond à un paragraphe, vos suggestions
sont les bienvenues.

Merci pour votre aide
JP


La dernière ligne est un paragraphe, alors oui.

Merci
JP



Bonjour,

Je souhaite construire une macro pour supprimer la dernière ligne d'un
document.

Comment dois-je m'y prendre ?

Merci
Jean-Paul


La notion de ligne n'est pas très précise dans Word.
Le dernier paragraphe ?

--
A+










Avatar
Geo

La dernière ligne est un paragraphe, alors oui.


C'est toujours le même principe.
Le dernier paragraphe a pour numéro activedocument.paragraphs.count
Donc
ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Delete

--
A+

Avatar
Geo

Voici la macro écrite qui consiste à dupliquer une section, malheuresement
lors de la duplicatrion Word ajoute une ligne (ou un paragraphe) qui créé une
nouvelle section -


Normal car le saut de section qui termine la section fait partie de la
section.
Plutôt que d'essayer de supprimer la section en trop autant ne pas
prendre ce qui ne faut pas.

Sub NouvelUtilisateur()
Dim MaPlage As Range
With ActiveDocument
If .ReadOnly Then Exit Sub
.Unprotect Password:="xxxxx"
Set MaPlage = .Sections(1).Range
'réduit la plage de 1 caractère, donc ne prend pas le saut de section
MaPlage.MoveEnd unit:=wdCharacter, Count:=-1
MaPlage.Copy
.Bookmarks("EndOfDoc").Range.InsertBreak
Type:=wdSectionBreakNextPage
.Bookmarks("EndOfDoc").Range.Paste
End With
ActiveDocument.Protect Password:="xxxxx", NoReset:=True, Type:= _
wdAllowOnlyFormFields
End Sub

--
A+

Avatar
jepac
Bonjour Geo,

Je te remercie vivement pour ta réponse. Ca fonctionne presque comme il faut.
Deux petits bémols. J'ai du supprimer "Type:=wdSectionBreakNextPage" qui
génère une erreur. De plus comme je dois dupliquer la section 3 du document
j'ai remplacé le 1 par 3 dans "Set MaPlage = .Sections(1).Range".
quand je procède à une 1ère duplication, tout est OK, une 4ème section est
créée avec la copie du contenu de la 3ème et sans page blanche à la suite.
Par contre lorsque je procède à une seconde duplication, ce sont les 3ème et
4ème section qui sont dupliquées alord que seule la 3ème section devrait être
dupliquée.
Pourquoi ?

Merci de ta précieuse aide.
Jean-Paul




Voici la macro écrite qui consiste à dupliquer une section, malheuresement
lors de la duplicatrion Word ajoute une ligne (ou un paragraphe) qui créé une
nouvelle section -


Normal car le saut de section qui termine la section fait partie de la
section.
Plutôt que d'essayer de supprimer la section en trop autant ne pas
prendre ce qui ne faut pas.

Sub NouvelUtilisateur()
Dim MaPlage As Range
With ActiveDocument
If .ReadOnly Then Exit Sub
.Unprotect Password:="xxxxx"
Set MaPlage = .Sections(1).Range
'réduit la plage de 1 caractère, donc ne prend pas le saut de section
MaPlage.MoveEnd unit:=wdCharacter, Count:=-1
MaPlage.Copy
.Bookmarks("EndOfDoc").Range.InsertBreak
Type:=wdSectionBreakNextPage
.Bookmarks("EndOfDoc").Range.Paste
End With
ActiveDocument.Protect Password:="xxxxx", NoReset:=True, Type:= _
wdAllowOnlyFormFields
End Sub

--
A+






Avatar
Geo

Bonjour Geo,

Je te remercie vivement pour ta réponse. Ca fonctionne presque comme il faut.
Deux petits bémols. J'ai du supprimer "Type:=wdSectionBreakNextPage" qui
génère une erreur.


Quelle erreur ?

De plus comme je dois dupliquer la section 3 du document
j'ai remplacé le 1 par 3 dans "Set MaPlage = .Sections(1).Range".
quand je procède à une 1ère duplication, tout est OK, une 4ème section est
créée avec la copie du contenu de la 3ème et sans page blanche à la suite.
Par contre lorsque je procède à une seconde duplication, ce sont les 3ème et
4ème section qui sont dupliquées alord que seule la 3ème section devrait être
dupliquée.
Pourquoi ?


Parce que la troisième et quatrième page ne sont en fait que la
troisème section puisque vous avez supprimé le saut de section.

Affichez tous les caractères pour bien visualiser les sauts de
sections, et regardez le numéro de section en bas à gauche lorsque vous
déplacez le point d'insertion.

--
A+

Avatar
jepac
Concernant "Type:=wdSectionBreakNextPage" le message indiqué est : Erreur de
compilation : erreur de syntaxe.

Pour la duplication "multiple", j'ai ajouté un saut de section continu à la
fin de la 3ème section et cela à l'air de fonctionner.

Maintenant, après avoir donné la possibilité de dupliquer une section, il
doit avoir la possibilité de supprimer une de ces section, je pensais pouvoir
le faire en faisant saisir dans une boite de dialogue le numéro de section.
Est-ce possible ?
Jean-Paul



Bonjour Geo,

Je te remercie vivement pour ta réponse. Ca fonctionne presque comme il faut.
Deux petits bémols. J'ai du supprimer "Type:=wdSectionBreakNextPage" qui
génère une erreur.


Quelle erreur ?

De plus comme je dois dupliquer la section 3 du document
j'ai remplacé le 1 par 3 dans "Set MaPlage = .Sections(1).Range".
quand je procède à une 1ère duplication, tout est OK, une 4ème section est
créée avec la copie du contenu de la 3ème et sans page blanche à la suite.
Par contre lorsque je procède à une seconde duplication, ce sont les 3ème et
4ème section qui sont dupliquées alord que seule la 3ème section devrait être
dupliquée.
Pourquoi ?


Parce que la troisième et quatrième page ne sont en fait que la
troisème section puisque vous avez supprimé le saut de section.

Affichez tous les caractères pour bien visualiser les sauts de
sections, et regardez le numéro de section en bas à gauche lorsque vous
déplacez le point d'insertion.

--
A+






Avatar
Geo

Concernant "Type:=wdSectionBreakNextPage" le message indiqué est : Erreur de
compilation : erreur de syntaxe.


Ce n'est pas une ligne c'est la fin de la précédente.


Maintenant, après avoir donné la possibilité de dupliquer une section, il
doit avoir la possibilité de supprimer une de ces section, je pensais pouvoir
le faire en faisant saisir dans une boite de dialogue le numéro de section.
Est-ce possible ?


Je vous ai répondu sur ce point.
Où coincez-vous ?
Pour demander le numéro utilisez inputbox.

--
A+

1 2