Bonjour, je suis novice et je viens vers vous pour me mettre sur la piste et mieux comprendre le VBA.
Mon probleme:
J'ai un fichier excel avec 15 feuilles.
Je voudrais pouvoir recuperer chacune de ces feuilles sur des pages d'un document word et apres un titre predefini qui comporte le nom de la feuille.
Exemple j'ai la feuille 2555
sous word je voudrais:
Famille 2555
suivi des lignes de la feuille 2555.
J'ai trouve une macro sur votre site:
Option Explicit
Sub creation_du_word()
Dim Essai As Document
Dim ChoixWord As Variant
Dim AppliWord As Word.Application
Dim Sh As Worksheet
Dim r As Range 'déclare la variable r (Recherche)
Dim Derniere_ligne As Integer
'Ouverture d'un fenêtre d'exploitation pour la sélection du doc. word dans lequel on insère les tableaux
On Error Resume Next
ChoixWord = Application.GetOpenFilename(",*")
If ChoixWord = "Essai" Then Exit Sub
'Ouverture du doc. word
AppliWord.Documents.Open (ChoixWord)
Set Essai = ActiveDocument
'Boucle sur les feuilles excel existantes dans le classeur
For Each Sh In ActiveWorkbook.Worksheets
If Not Sh.Name = "MATERIEL" Then 'exception de la feuille "Source" pour mon cas
Sh.Select
'Set r = Sh.Cells.Find(what:="*", After:=Sh.[MATERIEL], SearchOrder:=xlByRows, searchdirection:=xlPrevious) 'permet de trouver la dernière ligne du tableau. Merci PMO
Set r = Sh.Cells.Find(what:="*", After:=Sh.[iv65536], SearchOrder:=xlByRows, searchdirection:=xlPrevious) 'permet de trouver la dernière ligne du tableau. Merci PMO
Derniere_ligne = r.Row
'Copie du tableau excel
Range(Cells(1, 1), Cells(Derniere_ligne, 7)).Copy
' collage spéciale des tableaux dans word
AppliWord.Selection.PasteSpecial Link:=True, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False
End If
Next Sh
'fermeture du doc. word
AppliWord.Documents.Close
End Sub
Je ne comprend pas plusieurs choses:
1-il semble que je devrais ouvrir le document Word automatiquement hors ce n'est pas le cas
2-je devrais commencer par la feuille MATERIEL --> mais quand j'ouvre le document Word et que je fait un collé j'ai la feuille 10
3-Anec le "next sh" je devrais avoir toutes les feuilles --> j'ai que la feuille 10.
Beaucoup de question sur un sujet que je ne maitrise pas bien !!!
Pouvez vous m'aider ?
D'avance Merci
Mon probleme:
J'ai un fichier excel avec 15 feuilles.
Je voudrais pouvoir recuperer chacune de ces feuilles sur des pages d'un document word et apres un titre predefini qui comporte le nom de la feuille.
Exemple j'ai la feuille 2555
sous word je voudrais:
Famille 2555
suivi des lignes de la feuille 2555.
J'ai trouve une macro sur votre site:
Option Explicit
Sub creation_du_word()
Dim Essai As Document
Dim ChoixWord As Variant
Dim AppliWord As Word.Application
Dim Sh As Worksheet
Dim r As Range 'déclare la variable r (Recherche)
Dim Derniere_ligne As Integer
'Ouverture d'un fenêtre d'exploitation pour la sélection du doc. word dans lequel on insère les tableaux
On Error Resume Next
ChoixWord = Application.GetOpenFilename(",*")
If ChoixWord = "Essai" Then Exit Sub
'Ouverture du doc. word
AppliWord.Documents.Open (ChoixWord)
Set Essai = ActiveDocument
'Boucle sur les feuilles excel existantes dans le classeur
For Each Sh In ActiveWorkbook.Worksheets
If Not Sh.Name = "MATERIEL" Then 'exception de la feuille "Source" pour mon cas
Sh.Select
'Set r = Sh.Cells.Find(what:="*", After:=Sh.[MATERIEL], SearchOrder:=xlByRows, searchdirection:=xlPrevious) 'permet de trouver la dernière ligne du tableau. Merci PMO
Set r = Sh.Cells.Find(what:="*", After:=Sh.[iv65536], SearchOrder:=xlByRows, searchdirection:=xlPrevious) 'permet de trouver la dernière ligne du tableau. Merci PMO
Derniere_ligne = r.Row
'Copie du tableau excel
Range(Cells(1, 1), Cells(Derniere_ligne, 7)).Copy
' collage spéciale des tableaux dans word
AppliWord.Selection.PasteSpecial Link:=True, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False
End If
Next Sh
'fermeture du doc. word
AppliWord.Documents.Close
End Sub
Je ne comprend pas plusieurs choses:
1-il semble que je devrais ouvrir le document Word automatiquement hors ce n'est pas le cas
2-je devrais commencer par la feuille MATERIEL --> mais quand j'ouvre le document Word et que je fait un collé j'ai la feuille 10
3-Anec le "next sh" je devrais avoir toutes les feuilles --> j'ai que la feuille 10.
Beaucoup de question sur un sujet que je ne maitrise pas bien !!!
Pouvez vous m'aider ?
D'avance Merci