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
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
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+
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
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
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
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+
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
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
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+
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
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
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+
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
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
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+
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.
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
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+
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.
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
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+
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.
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.