Exporter plusieurs feuilles d'un même classeur

Al capone

XLDnaute Junior
Bonjour,

Je souhaite exporter une ou plusieurs feuilles d'un classeur excell.
Pour l'instant, je répète les instructions avant de me lancer dans les boucles.

Je rencontre deux soucis de mise en forme.

1)Les tableaux des deux feuilles que j'exporte n'ont pas la même taille.
Pour ajuster un tableau dans word j'utilise :
Code:
DocWord.Tables(1).AutoFitBehavior wdAutoFitWindow
Celà marche impec pour le premier tableau, mais pour le deuxième tableau, si je répète cette ligne, il recadre. Si je ne l'a met pas, mon deuxième tableau ne rentre pas dans ma page word.

2)Pour sélectionner j'utilisee la commande range. J'aimerais que la sélection s'arrête à la première ligne vide du tableau. Je peux récupérer la dernière ligne du tableau (variable NumLigneVide) mais j'arrive pas à l'intégrer dans le range. Dans le code ci dessous j'ai choisis une fin de sélection fixe pour tester

Voici mon code :
Code:
Sub RecapWord()

Dim appWrd As Word.Application
Dim docWrd As Word.Document
Set appWrd = CreateObject("Word.Application")

If Dir("D:\Recap.doc", vbHidden) = "" Then
Set appWrd = CreateObject("Word.Application")
appWrd.Visible = True
Set docWrd = appWrd.Documents.Add
docWrd.SaveAs "D:\Recap.doc"
End If

If Dir("D:\Recap.doc", vbHidden) <> "" Then
appWrd.Visible = True
Set DocWord = appWrd.Documents. _
Open("D:\Recap.doc", ReadOnly:=True)
End If
  
appWrd.ActiveDocument.PageSetup.Orientation = wdOrientLandscape
  
Dim numLigneVide As Integer

Worksheets("Gestion Missions").Activate
numLigneVide = ActiveSheet.Columns(7).Find("").Row

Range("A1:Q10").Copy
appWrd.Selection.Paste
DocWord.Tables(1).AutoFitBehavior wdAutoFitWindow
Application.CutCopyMode = False

Worksheets("Gestion ATE").Activate
numLigneVide = ActiveSheet.Columns(8).Find("").Row
Range("A2:P10").Copy
appWrd.Selection.Paste
 
Application.CutCopyMode = False
 
End Sub

Merci
 
Dernière édition:

jpb388

XLDnaute Accro
Re : Exporter plusieurs feuilles d'un même classeur

Bonjour
pour sélectionner la première ligne vide (ici de la colonne h)
numLigneVide = Range("h65000").End(xlUp).Offset(1, 0).Row
pour sélectionner une plage de cellule avec ligne vide comprise
Range("g1", Range("h65000").End(xlUp).Offset(1, 0)).Select
sans ligne vide
Range("g1", Range("h65000").End(xlUp)).Select
pour faire la copie on met copy à la place de select
Range("g1", Range("h65000").End(xlUp)).copy
pour word je ne sais pas
a+
 
Dernière édition:

Al capone

XLDnaute Junior
Re : Exporter plusieurs feuilles d'un même classeur

Re,

Merci j'ai opté pour

Code:
Range("g1", Range("h65000").End(xlUp).Offset(1, 0)).Select

Par contre la fonction :
Code:
DocWord.Tables(1).AutoFitBehavior wdAutoFitWindow
ne marche pas...

Lorsque je copie mon tableau, il n'est pas entier dans word....

Comme faire que chaque tableau importé s'adapte correctement à la mise en page de la page word ? Sachant que je dois importer plusieurs feuilles différentes de mon classeur ?
 

Al capone

XLDnaute Junior
Re : Exporter plusieurs feuilles d'un même classeur

Re,

Existe-t-il un moyen que chaque tableau ayant des formats différents se copie dans word en adaptant automatiquement chaque tableau individuellement ? J'ai passé toute l'après-midi, en vain :)

La fonction DocWord.Tables marche bien pour un tableau, mais le deuxième ne s'adapte pas et si je remet la fonction DocWord, le premier repart en sucette.

Word n'est pas capable de gérer des tableaux indépendament les uns des autres ?
 

Discussions similaires