Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 VBA sous excel pour écrire dans doc word

Titi71

XLDnaute Nouveau
Bonjour,
Je voudrais depuis Excel écrire dans un document Word, le but étant de placer le texte de la cellule A1 sur la première ligne aligné à gauche et le texte de la cellule A2 toujours sur la première ligne mais aligné à droite (style CV NOM à gauche et Né le … ). Mon code ne fonctionne pas puisque le texte des deux cellules se retrouve collé l'un à l'autre aligné à droite. Voici mon code, si une âme charitable peut me dépêtrer, je n'arrête pas de tourner en rond, soit tout est à gauche, soit tout est à droite mais jamais ce que je veux. Merci

Private Sub CommandButton1_Click()
Dim ObjWord As Object
Dim ObjDoc As Object
Dim ObjRange As Object
Dim CheminFichier As String

' Copie la valeur des cellules A1 et A2
Dim ValeurA1 As String
ValeurA1 = ThisWorkbook.Sheets("Saisie").Range("A1").Value
Dim ValeurA2 As String
ValeurA2 = ThisWorkbook.Sheets("Saisie").Range("A2").Value
Dim ValeurA3 As String
ValeurA3 = ThisWorkbook.Sheets("Saisie").Range("A3").Value
Dim ValeurA6 As String
ValeurA6 = ThisWorkbook.Sheets("Saisie").Range("A6").Value

' Chemin du fichier Word à ouvrir
CheminFichier = "C:\Users\thier\OneDrive\Documents\excel-word\Truc_machin_vide.docx"

'Initialisation de l'objet Word
On Error Resume Next
Set ObjWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set ObjWord = CreateObject("Word.Application")
End If
On Error GoTo 0
ObjWord.Visible = True

' Ouverture du document
Set ObjDoc = ObjWord.Documents.Open(CheminFichier)
Set ObjRange = ObjDoc.Range(0, 0)

' Colle la valeur de la cellule C1 sur la première ligne, alignée à gauche
ObjRange.Collapse 0 'collapse vers le début du document
ObjRange.MoveStart , 0 'déplace la sélection vers la première ligne
ObjRange.ParagraphFormat.Alignment = 0 ' aligne à gauche
ObjRange.InsertBefore ValeurA1

' Colle la valeur de la cellule C2 sur la première ligne, alignée à droite
ObjRange.Collapse 0 'collapse vers le début du document
ObjRange.MoveEnd , 1 'déplace la sélection à la fin de la ligne
ObjRange.ParagraphFormat.Alignment = 2 ' aligne à droite
ObjRange.InsertBefore ValeurA2

' Sauvegarde et fermeture du document
ObjDoc.Save
ObjDoc.Close
' Fermeture de Word
ObjWord.Quit
' Nettoyage
Set ObjDoc = Nothing
Set ObjWord = Nothing

End Sub
 

Titi71

XLDnaute Nouveau
J'ai déjà bien cherché sans trouver à résoudre mon problème. Le but n'est pas seulement décrire des données Excel sous Word mais de positionner ces données, une alignée à gauche et sur la même ligne, l'autre alignée à droite, ce que mon code n'arrive pas à faire. Si j'ai posé la question, c'est que je n'ai pas trouvé la réponse !!
 

Discussions similaires

Réponses
7
Affichages
591
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…