Manipuler Word sous vb

Parn -  
 alimaj -
Bjour,

Pour l instant j arrive à ouvrir un fichier word et à me deplacer de signet en signet pour ajouter des informations. Par contre qd j'ai trop de données je souhaiterais creer une nouvelle page dans ce fichier, avec la meme forme que la premiere (logo de l entrepise, cadre bleu, etc) ms je n'arrive pas à copier tt ce qui est image, tableau et dessin. De plus une fois cette etape reussie, il faudrait que je puisse creer à partir de vb de nouveaux signets pour placer correctement les donnée pour cette nouvelle page.
Si qq un a une idée, des infos ou n importe koi qui pourrait m'aider, je suis preneur.

Merci d'avance

3 réponses

  1. alimaj
     
    le code de manipulation du macros et des signets word dans vb net
    2
  2. ML0808
     
    Bonjour,

    Bien sûr, voici l'extrait de la macro (elle est très longue) qui gère ça. Le collage est en dernière ligne.

    Merci d'avance,
    Marc

    ' *********************** Recherche *************************

    ' Trouve le mot dans le document

    wrdApp2.Selection.Find.ClearFormatting
    With wrdApp2.Selection.Find

    .ClearFormatting

    ' Mot proche
    If Proche.Value = False Then
    .Text = Mot.Value

    ' Mot exact
    If MotEx.Value = True Then
    .MatchWholeWord = True
    End If

    ' Respect de la casse
    If Casse.Value = True Then
    .MatchCase = True
    End If
    End If

    ' Mot proche
    If Proche.Value = True Then
    .Text = MotSSA
    .MatchCase = False
    .MatchSoundsLike = True
    End If

    ' Toutes les formes
    If Forme.Value = True Then
    .Text = Mot.Value
    .MatchCase = False
    .MatchAllWordForms = True
    End If

    .MatchWildcards = 0
    .Forward = 1
    .Replacement.Text = ""
    .Replacement.ClearFormatting
    .Execute ' recherche du mot1
    End With

    ' Répéter l'opération jusqu'à ce qu'un mot soit trouvé
    Do While wrdApp2.Selection.Find.Execute = True
    wrdApp2.Selection.ParaGraphs(1).Range.Select

    ' Donne le numéro du paragraphe
    Dim pg As Integer
    pg = wrdApp2.Activedocument.Range(Start:=1, End:=wrdApp2.Selection.End).ParaGraphs.Count

    ' Copie le paragraphe contenant le résultat
    wrdApp2.Selection.Copy
    ' Place le curseur à droite du paragraphe copié pour continuer la recherche dans la suite
    ' du document
    wrdApp2.Selection.Moveright , Extend:=0

    ' Colle le résultat dans la feuille "Résultat"
    RECH.Sheets("Résultats").Cells(m, 4).PasteSpecial Paste:=xlValues, Operation:=xlNone
    1
  3. ML0808
     
    Bonjour,

    Bien sûr, voici l'extrait de la macro (elle est très longue) qui gère ça. Le collage est en dernière ligne.

    Merci d'avance,
    Marc

    ' *********************** Recherche *************************

    ' Trouve le mot dans le document

    wrdApp2.Selection.Find.ClearFormatting
    With wrdApp2.Selection.Find

    .ClearFormatting

    ' Mot proche
    If Proche.Value = False Then
    .Text = Mot.Value

    ' Mot exact
    If MotEx.Value = True Then
    .MatchWholeWord = True
    End If

    ' Respect de la casse
    If Casse.Value = True Then
    .MatchCase = True
    End If
    End If

    ' Mot proche
    If Proche.Value = True Then
    .Text = MotSSA
    .MatchCase = False
    .MatchSoundsLike = True
    End If

    ' Toutes les formes
    If Forme.Value = True Then
    .Text = Mot.Value
    .MatchCase = False
    .MatchAllWordForms = True
    End If

    .MatchWildcards = 0
    .Forward = 1
    .Replacement.Text = ""
    .Replacement.ClearFormatting
    .Execute ' recherche du mot1
    End With

    ' Répéter l'opération jusqu'à ce qu'un mot soit trouvé
    Do While wrdApp2.Selection.Find.Execute = True
    wrdApp2.Selection.ParaGraphs(1).Range.Select

    ' Donne le numéro du paragraphe
    Dim pg As Integer
    pg = wrdApp2.Activedocument.Range(Start:=1, End:=wrdApp2.Selection.End).ParaGraphs.Count

    ' Copie le paragraphe contenant le résultat
    wrdApp2.Selection.Copy
    ' Place le curseur à droite du paragraphe copié pour continuer la recherche dans la suite
    ' du document
    wrdApp2.Selection.Moveright , Extend:=0

    ' Colle le résultat dans la feuille "Résultat"
    RECH.Sheets("Résultats").Cells(m, 4).PasteSpecial Paste:=xlValues, Operation:=xlNone
    -1