tableau de bord

Y compris Power BI, Power Query et toute autre question en lien avec Excel
s
sylvaina
Nouveau venu
Nouveau venu
Messages : 3
Inscrit le : 25 septembre 2017
Version d'Excel : 2016

Message par sylvaina » 25 septembre 2017, 14:46

Bonjour a tous,

Je suis débutant en vba excel mais je trouve ca incroyable ce que vous arrivez a faire et l'aide que ca peut apporter rien que de vous lire.

j'ai pour mon travail un tableau de bord a créer et je bloque sur certaine choses, pouvez vous m'aidez ?

1) j'ai un fichier excel avec 5 onglets qui doivent rester dans cette ordre, j'aimerai a partir de l'onglet "Modèle" quand je clique sur "GO" avoir une fenêtre qui s'ouvre pour me demande le mois que je veux ajouter puis m'ajouter des onglets par jours ouvrés sans les jours féries qui sont dans l'onglet "base équipe, noms" après les 5 onglets de bases et trier dans l'ordre chronologique.

2) ensuite ils faudrait que sur chaque onglet soit copier le modèle avec le tableau croisé dynamique correspondant a l'onglet créer car je viendrai tout les jours ajouter les informations sur l'onglet de la veille .

3) sur l'onglet "base "il faudrait que j'ai une liste a cocher afin de masqué ou nom les onglets que je viens de créer .

le but de ce tableau c'est de remplir l'activité de la veille sur le bon l'onglet et de pouvoir tout les jours via des graphiques analysé la veille et ajouter des commentaires et que sur celui du mois il y est toute les activités des onglets ajouter.

J'ai commencer pas mal de chose mais je suis bloqué pour les jours ouvrés et féries, copier un modèle de TCD de l'onglet, et afficher les onglets pouvez vous m'aiguiller un peu s'il vous plait merci je continu des que j'avance je mets a jours mon fichier.
essai nouveau tableau de bord.xls
soyez indulgent
(664 Kio) Téléchargé 117 fois
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 5'544
Appréciations reçues : 55
Inscrit le : 18 septembre 2008
Version d'Excel : 2010 / 2016
Téléchargements : Mes applications

Message par galopin01 » 25 septembre 2017, 22:41

Bonsoir,
Sauf ton respect, ça me parait un peu timoré ton truc :
Tu as déjà un classeur de 640 ko avec juste 1 modèle vide : tu multiplies ça par 300 jours (à la louche) ça va te faire à la fin de l'année un classeur de 200 Mo ?? (toujours à la louche !)
Tu vas avoir le temps d'en boire des cafés et d'en fumer des cigarettes pendant que ton PC YVA ramer...
Bref TOUSSA pour dire que ton truc moi je le sens pas... D'autant que coté VBA t'as pas spécialement l'air d'une terreur, alors...
Bon ponctuellement on veut bien de donner des idées... mais moi personnellement j'assume pas ce projet.

Pour déterminer si une date est un samedi ou un dimanche, en VBA tu as la fonction Weekday... ou MOD... moi je préfère la deuxième...
Pour savoir si c'est un férié (OUPA) ou le numéro de semaine, tu trouveras des fonctions personnalisées...
En voici quelques unes glanées au hasard du net :
'Fonction retournant le numéro de semaine (norme iso (Europe))
'http://www.xcell.excelabo.net/dates_heures#Numsemaine
Function NOSEM(D As Date) As Long
   D = Int(D)
   NOSEM = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
   NOSEM = ((D - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) \ 7 + 1
End Function

Public Function EstJourFerie(ByVal laDate As Date, Optional ByVal EstPentecoteFerie As Boolean = True) As Boolean
'Détermine si la date passée en argument est un jour férié (en France) ou non :
'   101 = 1er Janvier '501 = 1er Mai '508 = 8 Mai '714 = 14 Juillet
'   815 = 15 Août - 1101 = 1er Novembre '1111 = 11 Novembre '1225 = 25 Décembre
'   dPa = Lundi de Pâques 'dAs = Jeudi de l'Ascension 'dPe = Lundi de Pentecôte
'Remarque : Le lundi de Pentecôte est un jour férié mais parfois non chômé (EstPentecoteFerie = False dans ce cas)
  Static Annee As Integer, dPa As Date, dAs As Date, dPe As Date, bPe As Boolean
   Dim a As Integer, m As Integer, j As Integer

   a = Year(laDate): m = Month(laDate): j = Day(laDate)
   Select Case m * 100 + j
   Case 101, 501, 508, 714, 815, 1101, 1111, 1225
      EstJourFerie = True
   Case 323 To 614   '323: Date mini Lundi de Pâques - 614 : Date maxi Lundi de Pentecôte
     If a <> Annee Or EstPentecoteFerie <> bPe Then
         Annee = a: dPa = Paques(a) + 1: dAs = dPa + 38
         bPe = EstPentecoteFerie: If bPe Then dPe = dPa + 49 Else dPe = #1/1/100#
      End If
      Select Case DateSerial(a, m, j): Case dPa, dAs, dPe: EstJourFerie = True: End Select
   End Select
End Function

Public Function Paques(ByVal an As Integer) As Date
Paques = CDate(Evaluate("=DATE(" & an & ",3,29.56+0.979*MOD(204-11*MOD(" & an & ",19),30)- WEEKDAY(DATE(" & an & ",3,28.56+0.979*MOD(204-11*MOD(" & an & ",19),30))))"))
End Function
Après... Heu... Je voudrais pas être à ta place !
A+
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
s
sylvaina
Nouveau venu
Nouveau venu
Messages : 3
Inscrit le : 25 septembre 2017
Version d'Excel : 2016

Message par sylvaina » 26 septembre 2017, 08:46

Bonjour galopin01,

Alors tout d'abord merci de m'avoir lu, d'essayer de m'aider et de me conseiller (ce que je cherchais aussi ici)
cela dit je me suis mal expliquer ce fichier excel ne servira que pour un mois pas plus une fois que le model est copier en fonction du mois et que les onglets sont créer et remplis j'imprimerai l'onglet "synthèse mois" pour le garder en mémoire et je recommence a zéro un nouveau mois, le but pour moi ai que je n'utilise qu'un seul fichier pour tout les mois mais pas de sauvegarder tout les jours de l'année juste le mois en cours(maxi 27 jours ouvrables).

2 je fume pas par contre le café oui beaucoup , faut il vraiment que je m'y mette ?? si mon fichier excel ne fait que les jours du mois en cours??

3 pour le fait de ne pas être une terreur je pense que la tu as raison, je regarde beaucoup les forums d'entraide et essai de modifier des codes en essayant de les comprendre afin de m'en servir mais je ne suis pas un génie du VBA, ce qui ne m’empêche pas de m'investir pour essayer

4 merci pour les idées c'est super sympa, si je peux en retour vous aidez en .... marque de café . :D

je reviens des que j'essaie le code merci .
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 5'544
Appréciations reçues : 55
Inscrit le : 18 septembre 2008
Version d'Excel : 2010 / 2016
Téléchargements : Mes applications

Message par galopin01 » 26 septembre 2017, 09:03

Bonjour,
Même pour un mois je trouve que c'est déjà beaucoup ! à 650 ko le fichier vide, tu vas avoir un classeur de plus de 10 Mo peut-être 20...
Ceci est sans doute le fait de tes formules assez lourdes avec en plus quelques TCD et graphiques, je ne m'y hasarderais pas.
Mébon qui ne risque rien n'a rien ! Et puis on n'est débutant que la première fois : c'est en essayant qu'on forge son expérience...
A+
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
s
sylvaina
Nouveau venu
Nouveau venu
Messages : 3
Inscrit le : 25 septembre 2017
Version d'Excel : 2016

Message par sylvaina » 26 septembre 2017, 09:09

Ok,

Donc peut être qu'il faudrait déjà que je réduise la taille de mon fichier vide, je peux passer par un fichier excel pour faire mes calcules et après coller mes tableaux en valeur seulement.
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 5'544
Appréciations reçues : 55
Inscrit le : 18 septembre 2008
Version d'Excel : 2010 / 2016
Téléchargements : Mes applications

Message par galopin01 » 26 septembre 2017, 19:43

Oui c'est sur.
En fait c'est bien à ça que je pensais.
Il y a une autre manière de voir la chose : En général les formules sont incrémentables : on ne conserve que la première ligne de formules et on laisse VBA faire le calcul grâce à cette formule puis on fige le résultat en valeur.
Ça demande un peu d'aisance au niveau VBA, mais rien de sorcier...
A+
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • tableau de bord - help
    par Isa76 » 8 août 2017, 14:53 » dans Excel - VBA
    18 Réponses
    542 Vues
    Dernier message par jmd
    9 août 2017, 20:16
  • tableau de bord
    par hichemabdennebi » 18 avril 2018, 13:22 » dans Excel - VBA
    6 Réponses
    276 Vues
    Dernier message par DjiDji59430
    19 avril 2018, 10:55
  • Tableau de bord
    par alain_83740 » 23 septembre 2015, 11:04 » dans Excel - VBA
    19 Réponses
    586 Vues
    Dernier message par alain_83740
    25 septembre 2015, 12:28
  • tableau de bord
    par NICOCHAPS » 10 mai 2014, 11:04 » dans Excel - VBA
    1 Réponses
    1519 Vues
    Dernier message par NICOCHAPS
    10 mai 2014, 11:32
  • TABLEAU DE BORD
    par fatI123 » 1 octobre 2016, 17:05 » dans Excel - VBA
    21 Réponses
    1704 Vues
    Dernier message par fatI123
    3 octobre 2016, 22:12
  • Tableau de bord
    par Lili755 » 4 mars 2018, 14:26 » dans Excel - VBA
    3 Réponses
    236 Vues
    Dernier message par LouReeD
    4 mars 2018, 20:52