Salut à toi
Copier vers word n'est jamais trés facile car pour atteindre le bon
emplacement un repère est necessaire car contrairement à excel où l' on
s'appuie sur l'adresse des cellules Word n'est pas étudié pour cette
gymnastique
Toute fois c'est toujours possible mais un modèle du document Word
dans lequel tu souhaites rapporter les précieuses informations me
serait utile pour t'apporter une solution
Peux tu sur :
http://www.cijoint.fr/index.php
m'en fournir un et me dire où se situes tes données dans ton document
Excel ainsique précisément l'endroit où tu souhaites les mettre d ans
ce document
Dans l'attente de te lire (trés certainement demain)
Salut à toi
Copier vers word n'est jamais trés facile car pour atteindre le bon
emplacement un repère est necessaire car contrairement à excel où l' on
s'appuie sur l'adresse des cellules Word n'est pas étudié pour cette
gymnastique
Toute fois c'est toujours possible mais un modèle du document Word
dans lequel tu souhaites rapporter les précieuses informations me
serait utile pour t'apporter une solution
Peux tu sur :
http://www.cijoint.fr/index.php
m'en fournir un et me dire où se situes tes données dans ton document
Excel ainsique précisément l'endroit où tu souhaites les mettre d ans
ce document
Dans l'attente de te lire (trés certainement demain)
Salut à toi
Copier vers word n'est jamais trés facile car pour atteindre le bon
emplacement un repère est necessaire car contrairement à excel où l' on
s'appuie sur l'adresse des cellules Word n'est pas étudié pour cette
gymnastique
Toute fois c'est toujours possible mais un modèle du document Word
dans lequel tu souhaites rapporter les précieuses informations me
serait utile pour t'apporter une solution
Peux tu sur :
http://www.cijoint.fr/index.php
m'en fournir un et me dire où se situes tes données dans ton document
Excel ainsique précisément l'endroit où tu souhaites les mettre d ans
ce document
Dans l'attente de te lire (trés certainement demain)
Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récupér er
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionner
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récupér er
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionner
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récupér er
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionner
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
On 26 fév, 16:58, wrote:Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récup érer
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionn er
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
Rebonjours Chalo
Une précision d'importance :
Il faut cocher la référence Microsoft Word Object Library (Outils/
Références)- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
On 26 fév, 16:58, francois.for...@wanadoo.fr wrote:
Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récup érer
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionn er
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
Rebonjours Chalo
Une précision d'importance :
Il faut cocher la référence Microsoft Word Object Library (Outils/
Références)- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
On 26 fév, 16:58, wrote:Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récup érer
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionn er
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
Rebonjours Chalo
Une précision d'importance :
Il faut cocher la référence Microsoft Word Object Library (Outils/
Références)- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récupér er
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionner
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récupér er
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionner
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
Salut Chalo
Excuses moi de te faire attendre
Je ne peux me pencher sur ton dossier qu'entre 2 réunions
Aprés analyse compte tenu de l'ampleur de tes tableaux et de la
multiplicité des données éventuelles à manipuler je pense que la
meilleur des solutions est de ramener l'intégralité dans une feuille
Excel
Tu pourras ainsi à partir d'Excel actualiser les valeurs les récupér er
pour tes TCD etc...
puis une fois prêt ramener l'ensemble dans le document Word en
remplacement
Supposant l'onglet de travail "Feuil1"
Pour celà 2 codes :
Code d'importation :
'On nettoie la feuille Excel
Sheets("Feuil1").Cells.Clear
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on les copie
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.Copy
End With
'On recopie les tableaux dans Excel
Workbooks("Classeur excel.xls").Activate
Sheets("Feuil1").Activate
Range("A1").Activate
ActiveSheet.Paste
'On ferme le document et l'application Word
WordDoc.Close
oWdApp.Quit
A actualiser :
C:CheminDocument Word.doc" qui est l'adresse et le nom de ton
fichier Word
On peut mettre à la place une boîte de dialogue pour le sélectionner
si il y en a plusieurs
A toi de voir
"Classeur excel.xls" qui est le nom de ton classeur Excel dans lequel
tu rapportes les données Word
Code d'exportation :
Sheets("Feuil1").Activate
'On sélectionne les Tableaux et on les copies
Range("A1", "P" & Range("A1").SpecialCells(xlLastCell).Row).Copy
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument Word.doc")
'On positionne le curseur sur le début du tableau en place
oWdApp.Selection.Find.ClearFormatting
With oWdApp.Selection.Find
.Text = "V O Y A G E"
End With
oWdApp.Selection.Find.Execute
'On sélectionne tous les tableaux et on recopies les nouveaux par
dessus
oWdApp.Selection.SelectCurrentIndent
oWdApp.Selection.PasteExcelTable False, False, False
End With
'On ferme le document en le sauvegardant et l'application Word
WordDoc.Close SaveChanges:=wdPromptToSaveChanges
oWdApp.Quit
Sur ce lien un exemple que tu peux tester aprés avoir actualiser dans
les 2 codes :
"C:CheminDocument Word.doc"
http://www.cijoint.fr/cjlink.php?file=cj200802/cij1275971355641.xls.
Fais des essais et dis moi !!!!!
Salut Chalo
Peux tu m'indiquer sur quelle ligne s'arrète le code (faire Débugage
pour la déterminer)
Si tu as le message ":"l'indice n'apparteint pas à la sélection" c'est
que la ligne concerné fait référence à un paramètre qui n'existe pas
(Le nom d'un classeur, d'un onglet, d'un document etc...)
Merci de me communiquer cette ligne afin que je puisse t'orienter
Salut Chalo
Peux tu m'indiquer sur quelle ligne s'arrète le code (faire Débugage
pour la déterminer)
Si tu as le message ":"l'indice n'apparteint pas à la sélection" c'est
que la ligne concerné fait référence à un paramètre qui n'existe pas
(Le nom d'un classeur, d'un onglet, d'un document etc...)
Merci de me communiquer cette ligne afin que je puisse t'orienter
Salut Chalo
Peux tu m'indiquer sur quelle ligne s'arrète le code (faire Débugage
pour la déterminer)
Si tu as le message ":"l'indice n'apparteint pas à la sélection" c'est
que la ligne concerné fait référence à un paramètre qui n'existe pas
(Le nom d'un classeur, d'un onglet, d'un document etc...)
Merci de me communiquer cette ligne afin que je puisse t'orienter
Rebonjours Chalo
La ligne :
Workbooks("Classeur1.xls").Activate
demande d'activer le classeur Excel nommé Classeur1.xls
C'est dans ce classeur que je comptais recopier les données Word
C'est dans celui-là que j'ai inclu la macro
Comme cette macro est entrain de s'éxécuter ce classeur est
obligatoirement ouvert donc la ligne ne dois pas buger
Je suppose que la macro d'importation est dans un fichier Excel qui ne
porte pas ce nom
d'ou le plantage à cette ligne
3 solutions :
Soit tu actualises cette ligne en remplaçant "Classeur1.xls" par le
nom du classeur qui porte la macro
Les données Word seront rapportées dans la feuille active de celui-ci
Si tu souhaites spécifié l'onglet de réception des données tu peux
rajouter cette ligne en suivant :
Workbooks("Nom du classeur.xls").Activate
Sheets("Nom de l'onglet").Activate
Soit tu actualises cette ligne en remplaçant "Classeur1.xls" par le
nom du classeur qui doit recevoir les données
Mais attention ce classeur doit être ouvert
Soit tu ouvres un nouveau classeur dans lequel on rapportera les
données en remplaçant la ligne par :
Workbooks.Add
A toi de me dire ce que tu souhaites
Rebonjours Chalo
La ligne :
Workbooks("Classeur1.xls").Activate
demande d'activer le classeur Excel nommé Classeur1.xls
C'est dans ce classeur que je comptais recopier les données Word
C'est dans celui-là que j'ai inclu la macro
Comme cette macro est entrain de s'éxécuter ce classeur est
obligatoirement ouvert donc la ligne ne dois pas buger
Je suppose que la macro d'importation est dans un fichier Excel qui ne
porte pas ce nom
d'ou le plantage à cette ligne
3 solutions :
Soit tu actualises cette ligne en remplaçant "Classeur1.xls" par le
nom du classeur qui porte la macro
Les données Word seront rapportées dans la feuille active de celui-ci
Si tu souhaites spécifié l'onglet de réception des données tu peux
rajouter cette ligne en suivant :
Workbooks("Nom du classeur.xls").Activate
Sheets("Nom de l'onglet").Activate
Soit tu actualises cette ligne en remplaçant "Classeur1.xls" par le
nom du classeur qui doit recevoir les données
Mais attention ce classeur doit être ouvert
Soit tu ouvres un nouveau classeur dans lequel on rapportera les
données en remplaçant la ligne par :
Workbooks.Add
A toi de me dire ce que tu souhaites
Rebonjours Chalo
La ligne :
Workbooks("Classeur1.xls").Activate
demande d'activer le classeur Excel nommé Classeur1.xls
C'est dans ce classeur que je comptais recopier les données Word
C'est dans celui-là que j'ai inclu la macro
Comme cette macro est entrain de s'éxécuter ce classeur est
obligatoirement ouvert donc la ligne ne dois pas buger
Je suppose que la macro d'importation est dans un fichier Excel qui ne
porte pas ce nom
d'ou le plantage à cette ligne
3 solutions :
Soit tu actualises cette ligne en remplaçant "Classeur1.xls" par le
nom du classeur qui porte la macro
Les données Word seront rapportées dans la feuille active de celui-ci
Si tu souhaites spécifié l'onglet de réception des données tu peux
rajouter cette ligne en suivant :
Workbooks("Nom du classeur.xls").Activate
Sheets("Nom de l'onglet").Activate
Soit tu actualises cette ligne en remplaçant "Classeur1.xls" par le
nom du classeur qui doit recevoir les données
Mais attention ce classeur doit être ouvert
Soit tu ouvres un nouveau classeur dans lequel on rapportera les
données en remplaçant la ligne par :
Workbooks.Add
A toi de me dire ce que tu souhaites