macro pour sélection et recopie

gdel45

XLDnaute Nouveau
Bonsoir à toutes et tous,
je cherche à créer une macro permettant la chose suivante :
dans une feuille Excel 2007, en cliquant sur une case, C1 par exemple, je voudrais que les cases C1, C3, C4 et C8 se recopient sur là où se trouve le curseur dans un document WORD.
Est-ce possible?
Merci d'avance
 

job75

XLDnaute Barbatruc
Re : macro pour sélection et recopie

Bonjour gdel45,

Essayez la macro suivante :

Code:
Sub TransfertSurWord()
[COLOR="Red"]'cocher la référence => Microsoft Forms x.x ObjectLibrary
'cocher la référence => Microsoft Word xx.x ObjectLibrary[/COLOR]
Dim MyData As DataObject, WordApp As Word.Application
Set MyData = New DataObject
MyData.SetText [C1] & Chr(10) & [C3] & Chr(10) & [C4] & Chr(10) & [C8]
MyData.PutInClipboard [COLOR="red"]'alimente le presse-papier[/COLOR]
On Error Resume Next
Set WordApp = GetObject(, "Word.Application")
AppActivate "TOTO - Microsoft Word" [COLOR="red"]'facultatif, si le fichier Word s'appelle TOTO[/COLOR]
WordApp.Selection.Paste [COLOR="red"]'transfère le contenu du presse-papier sur la sélection[/COLOR]
If Err Then MsgBox "Ouvrez le fichier Word concerné !"
End Sub

Lisez bien les commentaires. Pour cocher les références, menu vbA => Outils => Références

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : macro pour sélection et recopie

Re,

Et on peut faire plus simple :

Code:
Sub TransfertSurWord()
'cocher la référence => Microsoft Word xx.x ObjectLibrary
Dim txt$, WordApp As Word.Application
[COLOR="Red"]txt[/COLOR] = [C1] & Chr(10) & [C3] & Chr(10) & [C4] & Chr(10) & [C8]
On Error Resume Next
Set WordApp = GetObject(, "Word.Application")
AppActivate "TOTO - Microsoft Word" 'facultatif, si le fichier Word s'appelle TOTO
WordApp.Selection = txt 'transfère le texte
If Err Then MsgBox "Ouvrez le fichier Word concerné !"
End Sub

Edit : la référence Microsoft Forms x.x ObjectLibrary ne semble plus nécessaire...

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : macro pour sélection et recopie

Re,

Ah j'oubliais le clic sur C1, mettez dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$C$1" Then
Cancel = True
[COLOR="Red"]TransfertSurWord[/COLOR]
End If
End Sub

Un double-clic paraît mieux adapté qu'une simple sélection.

A+
 

job75

XLDnaute Barbatruc
Re : macro pour sélection et recopie

Re,

Une 3ème solution, si l'on veut créer un tableau Word (copie des cellules) :

Code:
Sub TransfertSurWord()
'cocher la référence => Microsoft Word xx.x ObjectLibrary
Dim WordApp As Word.Application
Columns("C").Insert 'crée une colonne auxiliaire
Range("D1,D3:D4,D8").Copy Range("C1")
Range("C1:C4").Copy
On Error Resume Next
Set WordApp = GetObject(, "Word.Application")
AppActivate "TOTO - Microsoft Word" 'facultatif, si le fichier Word s'appelle TOTO
WordApp.Selection.Paste 'transfère les cellules
Columns("C").Delete 'supprime la colonne auxiliaire
If Err Then MsgBox "Ouvrez le fichier Word concerné !"
End Sub

A+
 

gdel45

XLDnaute Nouveau
Re : macro pour sélection et recopie

merci beaucoup JOB75 mais je débute dans le langage des macros il me faut donc un certain temps pour mettre en place vos indications...et peut-être serais-je amené à vous demander quelques compléments d'information.
 

Discussions similaires

Réponses
15
Affichages
843
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 429
Messages
2 088 351
Membres
103 823
dernier inscrit
ben talha redouane