XL 2021 Copie cellules Excel vers Word avec mise à jour automatique

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 !

alexandre33260

XLDnaute Occasionnel
Bonjour, je voudrai savoir s'il est possible de copier des cellules Excel vers Word (pas un tableau complet, juste le contenu de la cellule).
Sur une feuille feuil1, je voudrai que les cellules A1, A2, A3 soient copiées vers un document Word.
La feuille Excel sera mise à jour régulièrement et il faudrait une liaison avec mise à jour automatique du doc Word dès que la feuille Excel est modifiée.
J'aurai la même demande pour copier des graphiques.
Merci pour votre aide.
 
Solution
Avec cette macro dans ThisWorkbook la cellule modifiée peut être dans n'importe quelle feuille :
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Wapp As Object, i
On Error Resume Next
Set Wapp = GetObject(, "Word.Application")
If Wapp Is Nothing Then Set Wapp = CreateObject("Word.Application")
On Error GoTo 0
Wapp.Visible = True
With Wapp.Documents.Open(ThisWorkbook.Path & "\Enquête de satisfaction EHPAD.docx").Tables(1)
    For i = 1 To 10
        .Cell(i, 1).Range.Text = Sheets("Analyse").Cells(i, 1)
    Next
End With
End Sub
Bonjour DJunqueira, le publipostage ne répond pas à ce que je veux faire (ou je n'ai pas toutes les subtilités).
Le champs de données récupère les données des colonnes.
Ce que je voudrai faire c'est mettre des champs dans mon doc Word, par exemple :
champs 1 qui corresponds à : Mon fichier Excel.xlsx/Feuil3/Ligne 3
champs 2 qui corresponds à : Mon fichier Excel.xlsx/Feuil3/Ligne 5
champs 3 qui corresponds à : Mon fichier Excel.xlsx/Feuil3/Ligne 6
etc...
 
Oui, désolé, je me rends compte que c'est pas si simple que ça...
Voila donc le fichier joint, c'est dans la feuille Analyse, j'ai nommé les cellules A2 A3 A4 A5 A6 A8 A9 et A10.
(j'ai plusieurs feuilles à faire par la suite sur le même modèle...)
Il faudrait que ces données soient mise à jour vers un doc Word. C'est pour ça que j'ai nommé les cellule, peut-être en VBA avec Macro, mais là, je suis pas fortiche...
 

Pièces jointes

Vous auriez pu utiliser cette formule dans Analyse!A10.

=JOINDRE.TEXTE(CAR(10);1;Accueil!D2: D75)

Pourriez-vous fournir un exemple de votre fichier Word dans lequel vous souhaitez insérer la cellule et spécifier quelle partie d'Exce vous souhaitez transférer, de préférence en surlignant avec de la couleur ?

Une autre formule Analyse!A4

=Rapport!E2*100&"% des résidents "&SI(Rapport!E2>=50%;"sont";"ne sont pas")&" satisfait de l'accueil physique qui leur a été réservé lors de leur arrivée au sein de la maison de retraite."
 
Dernière édition:
Bonjour,

Téléchargez les fichiers joints dans le même dossier.

Ouvrez le fichier Excel et voyez cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Wapp As Object
On Error Resume Next
Set Wapp = GetObject(, "Word.Application")
If Wapp Is Nothing Then Set Wapp = CreateObject("Word.Application")
On Error GoTo 0
Wapp.Visible = True
With Wapp.Documents.Open(ThisWorkbook.Path & "\Document Word.docx")
    .Tables(1).Cell(1, 2).Range.Text = Cells(3, 1)
    .Tables(1).Cell(2, 2).Range.Text = Cells(5, 1)
    .Tables(1).Cell(3, 2).Range.Text = Cells(6, 1)
End With
End Sub
Elle se déclenche quand on modifie ou valide une cellule quelconque.

A+
 

Pièces jointes

Je viens de tester, c'est très bien, c'est ce que recherchais, je vais bidouiller tout ça pour faire ma page à ma sauce.
merci beaucoup pour le coup de main.
Et oui, c'est bien débloquer, mais c'est la première fois que je dois faire cette manip, il faut dire que je ne suis pas un grand habitué des Macros....
 
job75, ça ne fonctionne pas à tous les coups, pour que ça mette le fichier Word à jour, si je change des données dans la feuille Accueil, je suis obligé d'aller dans la barre d'adresse d'une cellule de la feuille analyse et d' "ENTER" en fin de ligne pour que la mise à jour soit effective.
 

Pièces jointes

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Wapp As Object, i
On Error Resume Next
Set Wapp = GetObject(, "Word.Application")
If Wapp Is Nothing Then Set Wapp = CreateObject("Word.Application")
On Error GoTo 0
Wapp.Visible = True
With Wapp.Documents.Open(ThisWorkbook.Path & "\Enquête de satisfaction EHPAD.docx").Tables(1)
    For i = 1 To 10
        .Cell(i, 1).Range.Text = Cells(i, 1)
    Next
End With
End Sub
Comme déjà dit il suffit de modifier une cellule quelconque pour que les 10 cellules soient copiées.
 

Pièces jointes

- 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

Réponses
5
Affichages
594
Réponses
15
Affichages
1 K
Compte Supprimé 979
C
Retour