Edition d'un rapport

zouzou76190

XLDnaute Nouveau
Bonjour à tous,

J'ai un tableau de suivi où je note, chaque jours, l'avancement des mes activités.
Je voudrais automatiser cela en établissant des rapports:
- 1 par date (en séparant par contrat)
- 1 par repère (mais en incluant toutes la valeurs trouvées sur toutes les journées)

J'ai ajouter on tableau sur lequel je travail pour le moment et sur lequel j'ai commencé.

Si quelqu'un a des idées, car je ne sais pas trop par où avancer.


Merci
 

Pièces jointes

  • Rapport activité.xlsx
    15.6 KB · Affichages: 53

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : Edition d'un rapport

Bonjour zouzou76190 ,
Le Forum,

Petite proposition en p.j.

Simplement choisir dans les menus déroulants en H1, H2 et H3 pour le premier tableau ainsi que K1 dans le 2e.

Si vous ajoutez des données au bas de la base de données, il vous faut actualiser vos rapports (clic droit dedans; Actualiser).

Cdt,
 

Pièces jointes

  • PropoRapport.xls
    67.5 KB · Affichages: 42

job75

XLDnaute Barbatruc
Re : Edition d'un rapport

Bonjour zouzou76190, hello Geneviève,

C'est un peu casse-pied comme exercice mais ça passe le temps :rolleyes:

Voyez le fichier joint et les feuilles permettant de créer les 2 rapports.

Chaque feuille est dotée de sa macro (clic droit sur l'onglet et Visualiser le code).

Je ne vois pas l'intérêt de créer des fichiers pdf, mais si vous y tenez voyez sur le forum.

Edit : dans la macro Rapport_par_repère j'ai ajouté un test de sécurité au cas où il n'y ait aucun "avancement" pour la 1ère commande.

A+
 

Pièces jointes

  • Rapport activité(1).xls
    98.5 KB · Affichages: 35
Dernière édition:

zouzou76190

XLDnaute Nouveau
Re : Edition d'un rapport

Bonjour zouzou76190, hello Geneviève,

C'est un peu casse-pied comme exercice mais ça passe le temps :rolleyes:

Voyez le fichier joint et les feuilles permettant de créer les 2 rapports.

Chaque feuille est dotée de sa macro (clic droit sur l'onglet et Visualiser le code).

Je ne vois pas l'intérêt de créer des fichiers pdf, mais si vous y tenez voyez sur le forum.

Edit : dans la macro Rapport_par_repère j'ai ajouté un test de sécurité au cas où il n'y ait aucun "avancement" pour la 1ère commande.

A+


Merci, c'est parfait. Je vais regarder pour le PDF. Comment fait-on pour que la mise en page du PDF s'ajuste selon le nombre de lignes que le rapport affiche?
 

zouzou76190

XLDnaute Nouveau
Re : Edition d'un rapport

Bonjour zouzou76190, hello Geneviève,

C'est un peu casse-pied comme exercice mais ça passe le temps :rolleyes:

Voyez le fichier joint et les feuilles permettant de créer les 2 rapports.

Chaque feuille est dotée de sa macro (clic droit sur l'onglet et Visualiser le code).

Je ne vois pas l'intérêt de créer des fichiers pdf, mais si vous y tenez voyez sur le forum.

Edit : dans la macro Rapport_par_repère j'ai ajouté un test de sécurité au cas où il n'y ait aucun "avancement" pour la 1ère commande.

A+


Bonjour Job75

J ai une petite question sur ton tableau que tu as modifié .
Est-il possible de dire au tableau de faire un copier coller de l avancement de la colonne de la veille sur la colonne du jour lorsque la date de jour change pour éviter de le refaire chaque jour?


Merci
 

job75

XLDnaute Barbatruc
Re : Edition d'un rapport

Bonjour zouzou76190, le forum,

Deux compléments importants dans ce fichier (2) :

1) A l'ouverture du fichier, le tableau de la feuille Base est mis à jour par cette macro dans ThisWorkbook :

Code:
Private Sub Workbook_Open()
Dim dercol As Range
With Sheets("Base") 'nom à adapter
  Set dercol = .Cells(2, .Columns.Count).End(xlToLeft).EntireColumn.Cells
End With
If dercol(2) < Date Then
  dercol.Copy dercol.Resize(, Date - dercol(2) + 1)
  dercol(2).Resize(, Date - dercol(2) + 1).DataSeries 'dates
  dercol.Offset(, 1).Resize(, Date - dercol(2)).Replace "TERM", ""
End If
End Sub
2) Pour sauvegarder dans des fichiers les feuilles des rapports :

Code:
Sub Sauvegarder()
Dim chemin$, nom$, i%
chemin = ThisWorkbook.Path & "\" 'à adapter éventuellement
Application.ScreenUpdating = False
ActiveSheet.Copy 'nouveau document
ActiveSheet.DrawingObjects.Delete 'supprime les objets
Application.Goto [A1], True 'cadrage
Do
nom = chemin & ActiveSheet.Name & Format(Date, "yyyy-mm-dd") & IIf(i, "(" & i & ")", "")
i = i + 1
Loop While Dir(nom & ".xls*") <> "" 'si le fichier existe
ActiveWorkbook.SaveAs nom
ActiveWorkbook.Close False
End Sub
Toutes les macros sont maintenant dans Module1 et les boutons sont des boutons "Formulaires".

A+
 

Pièces jointes

  • Rapport activité(2).xls
    80 KB · Affichages: 30
Dernière édition:

job75

XLDnaute Barbatruc
Re : Edition d'un rapport

Re,

Un petit détail : sur Excel 2003 vous ne pouvez utiliser le fichier que pendant 252 jours...

Il vous faudrait bien sûr passer sur Excel 2007/2010/2013 avec 16384 colonnes.

Ou alors transposer le tableau de la feuille Base et modifier en conséquence toutes les macros.

A+
 

zouzou76190

XLDnaute Nouveau
Re : Edition d'un rapport

Re,

Un petit détail : sur Excel 2003 vous ne pouvez utiliser le fichier que pendant 252 jours...

Il vous faudrait bien sûr passer sur Excel 2007/2010/2013 avec 16384 colonnes.

Ou alors transposer le tableau de la feuille Base et modifier en conséquence toutes les macros.

A+

Oui c'est noté je viens de m'en apercevoir.
Pour l'édition de ces rapport je vais intégrer tout cela dans ma userform qui me sert de suivi.
Mais du coup il faut que lorsque je valide sur ok pour éditer ces rapport, cela s'ouvre
dans un pdf ou autre fenêtre. Je ne vois trop comment faire, je voulais essayer avec une text box mais est-ce
le plus simple?
 

job75

XLDnaute Barbatruc
Re : Edition d'un rapport

Re,

En cas de besoin voici le fichier avec le tableau transposé dans la feuille Base.

Les macros ont été adaptées.

Sur Excel 2003 le nombre de commandes ne peut pas dépasser 253.

A+
 

Pièces jointes

  • Rapport activité(2 transposé).xls
    91.5 KB · Affichages: 27

job75

XLDnaute Barbatruc

job75

XLDnaute Barbatruc
Re : Edition d'un rapport

Re,

Voir ce fichier (3) avec 2 ComboBox.

Noter en passant la macro "Quick sort" pour trier la liste de ComboBox2.

Edit 1 : par sécurité j'ai ajouté dans la macro Workbook_Open :

Code:
If .Cells(2, .Columns.Count - 1) <> "" Then Exit Sub
Edit 2 : ajouté le bouton Imprimer et une mise en page des 2 feuilles.

A+
 

Pièces jointes

  • Rapport activité(3).xls
    140 KB · Affichages: 32
Dernière édition:

job75

XLDnaute Barbatruc
Re : Edition d'un rapport

Bonjour zouzou76190,

Il est intéressant de noter que les 2 feuilles de rapport peuvent être masquées.

Pas de problème pour les rapports dans l'UserForm car une feuille masquée peut être activée.

Par contre pour les macros Imprimer et Sauvegarder il faut provisoirement les rendre visibles :

Code:
Sub Imprimer()
Dim t As Boolean
With ActiveSheet
  t = .Visible
  .Visible = True
  .PrintOut
  If Not t Then Sheets("Accueil").Activate: .Visible = False: .Activate
End With
End Sub
Fichier (4).

A+
 

Pièces jointes

  • Rapport activité(4).xls
    164 KB · Affichages: 32

zouzou76190

XLDnaute Nouveau
Re : Edition d'un rapport

Bonjour zouzou76190,

Il est intéressant de noter que les 2 feuilles de rapport peuvent être masquées.

Pas de problème pour les rapports dans l'UserForm car une feuille masquée peut être activée.

Par contre pour les macros Imprimer et Sauvegarder il faut provisoirement les rendre visibles :

Code:
Sub Imprimer()
Dim t As Boolean
With ActiveSheet
  t = .Visible
  .Visible = True
  .PrintOut
  If Not t Then Sheets("Accueil").Activate: .Visible = False: .Activate
End With
End Sub
Fichier (4).

A+

Merci. Par contre lorsque j insere la userform1 dans mon fichier , je met un Userform1.Show mais j'ai ce message d'erreur: erreur d'exécution 381: impossible de définir la propriété list.index de table de propriété non valide.

Sais tu d'où cela peut provenir?
 

zouzou76190

XLDnaute Nouveau
Re : Edition d'un rapport

Bonjour zouzou76190,



Non, mais si vous ne voulez pas de problème utilisez mon fichier, avec les mêmes feuilles "Base" et feuilles des rapports.

A+

Très bien j'utilise votre fichier, c'est vrai que c'est plus simple.
Est-il possible d'avoir un peu d'explication pour les formules de "Sub Rapport par repère"?
D'abord pour mieux la comprendre et pouvoir l'adapter en cas d'ajout de colonne et savoir qu'elles sont les valeurs à
Reprendre dans ce cas la.

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 987
dernier inscrit
Doctami