Microsoft 365 VBA sous excel pour écrire dans doc word

  • Initiateur de la discussion Initiateur de la discussion Titi71
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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 !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
649
Réponses
2
Affichages
427
Réponses
4
Affichages
369
Retour