Bonjour à toutes et à tous,
Je désirerai effectuer une commande à partir d’Excel, qui, en fonction de la valeur d’une cellule (A1 = 1 par exemple) effectuerai les actions suivantes :
Ouverture d’un document Word précis (contenant par exemple les signets 1 et 2 => voir le doc Word joint) effacerai le texte entre le signet 1 et le signet 2
Je sais comment ouvrir le document Word :
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Set WordApp = CreateObject("word.application") 'ouvre une session Word
Set WordDoc = WordApp.Documents.Open("C:\ Essai1.doc") 'ouvre le document Word
Par contre, je ne sais pas comment effacer entre les 2 signets… J’ai trouvé ce code sur un forum :
'Déclare les nom des signets
Const UnSignet As String = "signet1"
Const DeuxSignet As String = "signet2"
'Déclare le variable Range
Dim Signet1Rge As Range
Dim Signet2Rge As Range
Dim EffaceRge As Range
'Assigne les variables
With ActiveDocument
Set Signet1Rge = .Bookmarks(UnSignet).Range
Set Signet2Rge = .Bookmarks(DeuxSignet).Range
'Assigne le texte à supprimé
'(Texte compris entre fin du premier signet
'et début du deuxième)
Set EffaceRge = _
.Range(Signet1Rge.End, Signet2Rge.Start)
'Supprime le texte entre les deux signets
EffaceRge.Delete
Mais bon, ça ne marche malheureusement pas.
Si quelqu’un pouvait m’aider …
Merci d’avance.
Je désirerai effectuer une commande à partir d’Excel, qui, en fonction de la valeur d’une cellule (A1 = 1 par exemple) effectuerai les actions suivantes :
Ouverture d’un document Word précis (contenant par exemple les signets 1 et 2 => voir le doc Word joint) effacerai le texte entre le signet 1 et le signet 2
Je sais comment ouvrir le document Word :
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Set WordApp = CreateObject("word.application") 'ouvre une session Word
Set WordDoc = WordApp.Documents.Open("C:\ Essai1.doc") 'ouvre le document Word
Par contre, je ne sais pas comment effacer entre les 2 signets… J’ai trouvé ce code sur un forum :
'Déclare les nom des signets
Const UnSignet As String = "signet1"
Const DeuxSignet As String = "signet2"
'Déclare le variable Range
Dim Signet1Rge As Range
Dim Signet2Rge As Range
Dim EffaceRge As Range
'Assigne les variables
With ActiveDocument
Set Signet1Rge = .Bookmarks(UnSignet).Range
Set Signet2Rge = .Bookmarks(DeuxSignet).Range
'Assigne le texte à supprimé
'(Texte compris entre fin du premier signet
'et début du deuxième)
Set EffaceRge = _
.Range(Signet1Rge.End, Signet2Rge.Start)
'Supprime le texte entre les deux signets
EffaceRge.Delete
Mais bon, ça ne marche malheureusement pas.
Si quelqu’un pouvait m’aider …
Merci d’avance.