Dernière ligne

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

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+

jepac
Le #1702412
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+






jepac
Le #1702408
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+








jepac
Le #1702405
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+










Geo
Le #1702402

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+

Geo
Le #1702401

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+

jepac
Le #1702377
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+






Geo
Le #1709956

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+

jepac
Le #1709953
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+






Geo
Le #1709952

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+

Publicité
Poster une réponse
Anonyme