Bonjour,
Tous les 3 mois ma boss prépare le compte rendu au CA qui suit toujours la même trame:
On a un tableau de suivi de production commun où on suit tous nos projets avec tout un tas de dates prévisionnelles.
Pour établir ce rapport voici la trame :
- cacher les colonnes inutiles
- copie colle un extrait du tableau en filtrant la phase de projet
- petit commentaire pour les projets concernés par cette phase
- rebelotte pour les phase suivante..
- conclusion générale
Exemple :
notre tableau de prod
le rapport
(désolée pour les puristes, il s'agit d'un vulgaire exemple vite fait sur google sheets)
Exporter un fichier excel dans word, c'est facile mais là je butte étant donné qu'il s'agit de plusieurs extraits avec différents filtres du tableau.
J'ai bien pensé aux affichages personnalisés mais bon reste toujours le fastidieux copié collé.
Je ne maîtrise pas du tout les tableaux croisés dynamiques mais je ne pense pas que cela convienne.
Je suis béotienne en macro et VBA, mais comme j'aime bien les défis, si c'est la méthode à utiliser je vais apprendre
J'ai trouvé ce code sur internet, mais cela crée un word par export, ce n'est pas ce que je rechercheBon et le graphique, pour l'instant c'est pas la priorité
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 Sub Passage_Excel_Word() Dim appWord As New Word.Application Dim docWord As New Word.Document ' Il faut créer un nouveau document Word dans l'application Word With appWord .Visible = True Set docWord = .Documents.Add .Activate End With 'Dans Word on ajoute une ligne de titre avec une mise en forme With appWord.Selection .TypeText Text:="Chiffre d'affaire 2003" .HomeKey Unit:=wdLine .EndKey Unit:=wdLine, Extend:=wdExtend .ParagraphFormat.Alignment = wdAlignParagraphCenter .Font.Size = 18 With .Font .Name = "Arial" .Size = 16 .Bold = True End With 'Copier le tableau Excel dans le presse papier Range("a1:b8").Copy ' Coller le tableau dans Word avec liaison .EndKey Unit:=wdLine .TypeParagraph .PasteSpecial Link:=True, DataType:=wdPasteOLEObject, _ Placement:=wdInLine, DisplayAsIcon:=False 'Copier le graphique Excel dans le presse papier ActiveSheet.ChartObjects(1).Activate ActiveChart.ChartArea.Select ActiveChart.ChartArea.Copy 'Coller le graphique dans Word .TypeParagraph .Paste End With 'Enregistrer le document Word With docWord .SaveAs ThisWorkbook.Path & "\ca_2003.doc", Allowsubstitutions:=True 'Dans Word Aperçu avant impression du résultat .PrintPreview 'Réinitialiser l'objet Set appWord = Nothing End With End Sub
La source de ce code : https://olivier-bureautique.blogspot...e-passage.html
Merci à tous
Partager