Bonjour,
J'ai un programme VB qui pilote Word.
Je n'arrive pas à supprimer un saut de page qui se trouve à la fin de mon document.
Quelqu'un a-t-il une solution?
Merci
Yal17
Bonjour,
J'ai un programme VB qui pilote Word.
Je n'arrive pas à supprimer un saut de page qui se trouve à la fin de mon document.
Quelqu'un a-t-il une solution?
Merci
Yal17
Aller en dernière ligne, étendre la sélection d'un caractère vers la gauche et supprimer la sélection
Tu dis
Fait en enregistrant la macro (!)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Selection.EndKey Unit:=wdStory Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.Delete Unit:=wdCharacter, Count:=1
J'ai été incomplet.
En fait, il y a des retours charriot après le saut de page. Mais je ne connais pas leur nombre. Je ne peux donc pas remonter 4 caractères par esemple et supprimer la sélection.
Sinon, le wdStory pose problème : "L'objet ne gère pas cette propriété ou cette méthode"
Alors tu vas à la fin de ton document, tu reviens sur le dernier saut de page en sélectionnant et tu effaces tout.
Je regarde si c'est possible et je te mets ça le cas échéant
A tout'
Tiens :
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Selection.EndKey Unit:=wdStory 'envoie à la fin du document Selection.Find.ClearFormatting 'Recherche le premier saut de page vers le haut Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^m" .Replacement.Text = "" .Wrap = wdFindAsk '****** vers le haut ****** End With Selection.Find.Execute Selection.Delete Unit:=wdCharacter, Count:=1 'supprime le saut de page 'Sélectionne les sauts de lignes jusqu'en fin de document Selection.EndKey Unit:=wdStory, Extend:=wdExtend 'Supprime tous les sauts de lignes jusqu'en fin de document Selection.Delete Unit:=wdCharacter, Count:=1
Edit
Ajouté ********** ........ *********
J'ai supprimé la 1ère ligne de code que j'ai remplacé pour avoir le même résultat.
Mais la ligne suivante ne passe pas :
Selection.EndKey Unit:=wdStory, Extend:=wdExtend
Le wdstory bloque, ainsi que le extend.
Et du coup, cela ne résoud pas mon problème.
T'as quel version de Office? le bon papy Ouskel' roule sous Office 97...
Salut Ouskel'
Je fais mes tests avec Office 97 aussi.
Bravo pour le prochain diplôme, future diplomée.
Je, pas comprendre, ça :
Tu peux expliquer pourquoi tu modifies un code qui fonctionne chez moi ?J'ai supprimé la 1ère ligne de code que j'ai remplacé pour avoir le même résultat
Mon code fait une recherche vers le haut. Si tu ne vas pas à la fin du document, et que tu restes au début, il ne trouvera rien.
A+
Salut zaza, tu sens que tu es sur le grill ?
T'as disparu... Je m'inquiète...
Allez, mets ton code, j'aime pas rester dans l'espectative
Ne t'inquiète pas! Tout va bien!
C'est juste que ma boite n'aime pas trop les accès vers Internet. C'est pourquoi je ne reste pas branché en permanence.
Mon code :
Selection.collapse direction:=wdCollapseEnd
Sinon, j'ai essayé directement ton code comme macro WOrd.
Ca ne fonctionne pas non plus.
Va falloir que tu mettes un fichier bidon ici avec tout ce qu'il faut pour que TES conditions soient remplies. Mon code fonctionne sur toutes les dernières pages et les vbcr que j'ai ajoutés...
C'est toi qui vois
A+
On est bien d'accord que tu utilises VB (6?) pour piloter Word et pas des macros VBA (dans Word)?
Si c'est le cas, il faudra créer une instance de Word, une du document et "préfixer" toutes les instructions qui se rapportent au document avec cette instance du document.
Dis-nous.
Autant pour moi J'avais compris que tu étais dans VBA Word.
Effectivement, j'utilise VB6.
J'ai cré en début du module un objet Word avec une référence au niveau du projet vers Word.
En résumé, mon code ressemble à ceci :
J'ai une fonction qui enlève un saut de section qui se trouve au début de page (ça ne répond au sujet de ce post mais avant de venir ici, j'ai essayé différentes déclinaisons à partir de ça)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Private oWord as object Private oDocument as object
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Public Sub SuprSautSection() Set oSelection = 0Document.Content oSelection.Collapse Direction:=wdCollapseStart oSelection.delete unit := wdWord, Count:=1 End Sub
D'où l'intérêt du tag dans le titre!!!
Que de temps perdu à cause de ça!
Je le mets pour toi cette fois-ci mais penses-y à l'avenir.
Juste une info pour connaître le nombre de pages. Tu vas en fin de doc et tu fais
Testé sans "With WdDoc" sur VBA97
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 With WdDoc .Selection.EndKey Unit:=wdStory NoPage = .Selection.Information(wdActiveEndAdjustedPageNumber) .Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=NoPage 'Là, tu te retrouves en début de page NoPage, ton saut de page... '... est le caractère précédent end with
Juste pour l'idée
A+
Désolé.Envoyé par AlainTech
Argh!
Personne ne peut m'aider?
Yal17
Montre le code qui te sert à ouvrir ton doc, restera juste à le compléter
A+
Partager