Code VBA Insertion titre

Résolu/Fermé
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 30 oct. 2012 à 16:10
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 4 nov. 2012 à 21:22
Bonjour,

Voilà la situation je transfère des tcd de excel vers word,
j'ai trouvé des codes à droite et à gauche et ça fonctionne !

Par contre je souhaite ajouter un titre avant chaque tableau dans word
et là je bloque

Est ce qu'une âme charitable pourrait m'aider ?

voici un extrait de mon code ( je ne me suis pas encore exercé sur les boucles ):

merci

CHARLYJACK

Public Sub CopieDansWord()
Dim appWord As New Word.Application
Dim docWord As New Word.Document
Dim rng As Range

' Lance Word
Set appWord = New Word.Application
With appWord
.Visible = True
' Ajoute un nouveau document
Set docWord = .Documents.Add
.Activate
End With

With appWord.Selection
.PageSetup.Orientation = wdOrientLandscape
.PageSetup.LeftMargin = CentimetersToPoints(0.5)
.PageSetup.RightMargin = CentimetersToPoints(0.5)
.PageSetup.TopMargin = CentimetersToPoints(0.5)
.PageSetup.BottomMargin = CentimetersToPoints(0.5)

' Ajoute une ligne de titre et la met en forme
.TypeText Text:="Volumétrie Oberthur Perso 020"

.HomeKey Unit:=wdLine
.EndKey Unit:=wdLine, Extend:=wdExtend
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Font.Size = 18
With .Font
.Name = "Verdana"
.Size = 18
.Bold = True
.Italic = False
.SmallCaps = True

End With



' Copie le tableau Excel 018 dans le presse papier
Sheets("Ober Perso 020").Range("OBE1").CurrentRegion.Copy

' Colle le tableau dans Word avec liaison
.EndKey Unit:=wdLine
.TypeParagraph
.TypeParagraph
.PasteSpecial Link:=True, DataType:=wdPasteOLEObject, _
Placement:=wdInLine, DisplayAsIcon:=False

' Copie le tableau Excel 020 dans le presse papier
Sheets("Ober Perso 020").Range("OBE2").CurrentRegion.Copy

' Colle le tableau dans Word avec liaison
.EndKey Unit:=wdLine
.TypeParagraph
.TypeParagraph
.PasteSpecial Link:=True, DataType:=wdPasteOLEObject, _
Placement:=wdInLine, DisplayAsIcon:=False

With docWord
' Enregistrement du document Word dans le même dossier
' que le classeur Excel
.SaveAs ThisWorkbook.Path & "\Resultats_2010.doc", Allowsubstitutions:=True
End With
' Réinitialise l'objet
Set appWord = Nothing
End With

End Sub







A voir également:

2 réponses

Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 30/10/2012 à 18:46
Bonsoir CHARLYJACK,

Puisque tu arrive à copier une partie de feuille dans le presse papier, tu peux certainement copier le contenu d'une variable aussi.
Une partie de ton code:
' Copie le tableau Excel 018 dans le presse papier 
Sheets("Ober Perso 020").Range("OBE1").CurrentRegion.Copy

Une variable contenant un titre :
varChaine = "Je suis un titre de tableau"
1
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
1 nov. 2012 à 22:11
Bonsoir Heliotte,

j'ai essayé ça n'a pas marché !
je reprends des codes pour voir ce que j'ai mal fait.
en tout cas merci pour la piste
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
Modifié par eriiic le 1/11/2012 à 23:40
Bonsoir,

C'est quoi ton problème au juste ?

Parce que tu mets déjà un titre avec :
.TypeText Text:="Volumétrie Oberthur Perso 020"

Tu peux aussi remplacer le texte par le contenu d'une cellule (ou bien d'une variable) :
.TypeText Text:=[A1]

???

eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
1
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
4 nov. 2012 à 21:22
Bonjour Eric,

Effectivement j'ai déjà un titre par contre ça bloquait quand je voulais enregistrer un second titre.
Mon second titre remplacait le premier
J'ai essayé la déclaration d'une variable mais j'ai échoué je dois encore travailler ça.

J'ai remplacé le texte par le contenu d'une cellule nommée, ça fonctionne bien.

Maintenant je vais travailler sur les boucles pour alléger mon code, mais ça c'est une autre histoire.

En tout cas un grand merci à vous pour vos réponses ou pour vos pistes qui m'aide à progresser.

Encore Merci

Charlyjack
0