Excel 2003 vers word

  • Initiateur de la discussion Initiateur de la discussion yannick113
  • 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 !

yannick113

XLDnaute Nouveau
Bonjour,
Je suis nouveau sur ce forum qui est fort intéressant. Je suis en train de m'initier au joie de VB sous excel et word. Je souhaiterai récuper des tableaux sous excel dans word.
J'ai recupéré ce code qui marche à merveille sur ce site :
Sub Excel_Word()
Dim oWdApp As Object 'Word.Application
Dim oWdDoc As Object 'Word.Document

'Lancer une instance Word
Set oWdApp = CreateObject("Word.Application")

'Ouvrir un nouveau document
Set oWdDoc = oWdApp.Documents.Add

'Rendre Word visible
oWdApp.Visible = True

'Copier une plage depuis Excel
ActiveSheet.Range("A1:E10").Copy

'Coller la plage dans Word
oWdApp.Selection.Paste

'Annuler le mode couper/copier
Application.CutCopyMode = False
End Sub

Ma question est de savoir si il est possible d'avoir cette macro sous word pour extraire le tableau dans un esapace donnée dans word. Je possede une formalise sous word que je souhaite conserver pour gagner du temps.
Vue que je commence en programmation j'ai un peu de mal.
Pouvez vous me donner des conseils pour ce genre de macro.

Merci d'avance
 
Re : Excel 2003 vers word

Bonjour,
Je suis nouveau sur ce forum qui est fort intéressant. Je suis en train de m'initier au joie de VB sous excel et word. Je souhaiterai récuper des tableaux sous excel dans word.
J'ai recupéré ce code qui marche à merveille sur ce site :
Sub Excel_Word()
Dim oWdApp As Object 'Word.Application
Dim oWdDoc As Object 'Word.Document

'Lancer une instance Word
Set oWdApp = CreateObject("Word.Application")

'Ouvrir un nouveau document
Set oWdDoc = oWdApp.Documents.Add

'Rendre Word visible
oWdApp.Visible = True

'Copier une plage depuis Excel
ActiveSheet.Range("A1:E10").Copy

'Coller la plage dans Word
oWdApp.Selection.Paste

'Annuler le mode couper/copier
Application.CutCopyMode = False
End Sub

Ma question est de savoir si il est possible d'avoir cette macro sous word pour extraire le tableau dans un esapace donnée dans word. Je possede une formalise sous word que je souhaite conserver pour gagner du temps.
Vue que je commence en programmation j'ai un peu de mal.
Pouvez vous me donner des conseils pour ce genre de macro.

Merci d'avance

Bonjour je viens de recuperer une autre macro qui ne foncionne pas que j'essaye de débeuger mais elle extrait à partir de word les fichiers Excel:
Sub LireXLFermeADO()
Dim Fich$, Arr
Fich = "C:\Documents and Settings\Bureau\test\12.xls"
'récup des données à partir de l'adresse d'une plage de cellules
GetExternalData Fich, "Feuil1", "A2:I2", False, Arr
MsgBox Arr(1, 5) 'Lignes-Colonnes (pour vérification)
' récup des données à partir du nom d'une plage de cellules
GetExternalData Fich, "", "essainom", False, Arr
End Sub

'renvoie les valeurs d'une plage de cellules (srcRange)
'd'une feuille (srcSheet) d'un fichier (srcFile) fermé
'dans un tableau (outArr)
'le paramètre TTL indique si la plage a ou non une ligne d'entêtes
Sub GetExternalData(srcFile As String, _
srcSheet As String, _
srcRange As String, _
TTL As Boolean, _
outArr As Variant)
'd'après Héctor Miguel, mpep
Dim myConn As ADODB.Connection, myCmd As ADODB.Command
Dim HDR As String, myRS As ADODB.Recordset, RS_n As Integer, RS_f As Integer
Dim Arr

Set myConn = New ADODB.Connection
If TTL = True Then HDR = "Yes" Else HDR = "No"
myConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & srcFile & ";" & _
"Extended Properties=""Excel 8.0;" & _
"HDR=" & HDR & ";IMEX=1;"""
Set myCmd = New ADODB.Command
myCmd.ActiveConnection = myConn
If srcSheet = "" _
Then myCmd.CommandText = "SELECT * from `" & srcRange & "`" _
Else myCmd.CommandText = "SELECT * from `" & srcSheet & "$" & srcRange & "`"
Set myRS = New ADODB.Recordset
myRS.Open myCmd, , adOpenKeyset, adLockOptimistic
ReDim Arr(1 To myRS.RecordCount, 1 To myRS.Fields.Count)
myRS.MoveFirst
Do While Not myRS.EOF
For RS_n = 1 To myRS.RecordCount 'lignes
For RS_f = 0 To myRS.Fields.Count - 1 'colonnes
Arr(RS_n, RS_f + 1) = myRS.Fields(RS_f).Value
Next
myRS.MoveNext
Next
Loop
myConn.Close
Set myRS = Nothing
Set myCmd = Nothing
Set myConn = Nothing
outArr = Arr
End Sub

Ou est l'erreur?.
 
- 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
674
Réponses
3
Affichages
547
Réponses
0
Affichages
735
Réponses
8
Affichages
1 K
Retour