Tatiak

Excel, Vba, Vbs


22 mars 2021

Windsurf!

Loftsails Switchblade 7.3 - Patrik Sl 110 - Select S1-evo 37
Thermique timide d'environ 14 à 15 kts de W-SW
Le vent est remonté très tard en fin d'aprèm

Merci à Bernard pour la prise de vues et son montage vidéo!

Posté par tatiak à 11:43 - Windsurf - Commentaires [0] - Permalien [#]

28 février 2021

Dessin de cartes géographiques sur Excel

Pour répondre aux demandes relatives au dessin de cartes géographiques sur Excel, voici des explications sur la méthode que j'utilise.

1/ Tout d'abord pour dessiner une forme quelconque sur Excel un simple Shapes.AddPolyline suffit, du genre :
     Set Sh = Sheets("Carte").Shapes.AddPolyline(Points)
Ligne dans laquelle Sh est un Shape, et Points est une collection de coordonnées xy

2/ Bon à savoir, dans excel le repère à considérer est constitué d'un point zéro correspondant au coin supérieur gauche de la cellule A1 de la feuille utilisée, avec des ordonnées Y inversées par rapport à un repère cartésien ordinaire.

3/ Avec ces 2 info, on peut donc alors récupérer des jeux de coordonnées pour dessiner. Parmi les données utilisables en Opensource, un site possible : public.opendatasoft.com
Ce site propose une multitude de jeux de données avec des coordonnées GPS, des colonnes de 'geo_shapes'

4/ Il convient alors de transformer les points GPS (repère sphérique selon référence méridien de Greenwich et Equateur) en points Excel (repère plat selon référence coin supérieur gauche de la feuille)
Pour ce faire, j'utilise la fonction XY (de mon cru) suivante :
Function XY(lat As Single, lng As Single) As Coord
         XY.x = marge_ghe + (-Longitude0 + lng) * coef_lng * Echelle
         XY.y = marge_top + (Latitude0 - lat) * coef_lat * Echelle
End Function
Dans laquelle :
* Coord est un type personnalisé contenant une paire xy de Single
* Marge_ghe et marge_top : 2 valeurs pour placer mon dessin à l'endroit souhaité de ma feuille
* Longitude0 et Latitude0 : 2 valeurs à calculer en fonction du jeu de coordonnées GPS (qui vont correspondre au point zéro de ma feuille)
* coef_lng et coef_lat : 2 valeurs à définir pour compenser la rotondité de la terre (et pour éviter de trop déformer le contour obtenu)
* Echelle : pour que le dessin soit "à la bonne taille" selon la zone à dessiner (l'échelle ne sera pas la même pour dessiner une commune seule ou un pays en entier)
* et enfin lng et lat : le couple de coordonnées Gps utilisées.

Voilà tout, avec ces info il devient simple de dessiner une carte quelconque dont on a obtenu le jeu de coordonnées GPS.

Peut-être encore juste une remarque. Souvent un jeu de coordonnées GPS est composé d'une chaine de caractères dépassant largement le contenu maxi accepté par une cellule excel. Pour ne rien perdre, je préfère personnellement ne rien stocker dans excel (ni en csv) mais lire directement les info à partir des sites fournisseurs, au fur et à mesure des besoins. On peut le faire via décodage de json par exemple, et d'autres méthodes sont possibles également.

Pour voir la mise en oeuvre de ces principes, vous pouvez vous référer aux nombreux exemples publiés sur mon site.

Si ces explications de ma méthode vous sont utiles, laissez-moi un commentaire!
Pierre

Posté par tatiak à 12:15 - Excel-Cartographie - Commentaires [2] - Permalien [#]

08 décembre 2020

Agenda/Contacts/Suivi_Projets

Visuel

Voici "Agenda21" version expérimentale d'un Agenda/Contacts/Suivi_mini-projets.

* A noter  ici le stockage des données est à la carte : soit dans le fichier même, soit en externe : Excel/Access/DBF/CSV (cf liste de choix en colonne P)
L'idée ici est de pouvoir comparer les temps de lecture/écriture selon le support choisi.


Onglet Agenda :
* Navigation de semaines en semaines => listes déroulantes / boutons[<] et [>] / clic sur une date pour afficher un calendrier à cliquer
* La saisie se fait par sélection de plusieurs cellules d'une colonne => cf gif démo.
* Affichage des horaires de chaque Rdv
* Fonction décalage rapide des Rdv via clic sur un horaire (cf gif démo) pour libérer facilement un créneau horaire
* Nuancier pour choix de la couleur de l'événement entre 80 couleurs x 11 teintes

Contacts : via bouton (au dessus du Samedi)

Mini-projets, avec principe de saisie par sélection de cases (cf gif démo) :
* plusieurs cases sur une ligne vide => étape d'un projet
* une seule case sur la ligne du titre du projet => point d'étape
* nouveau projet en modifiant le nom d'une "nouvelle étape"
* histogramme d'étape : couleur en haut=couleur du projet, en bas=couleur de l'étape
* choix des couleurs dans le même nuancier de 80x11
* visualisation de l'avancée des étapes par losanges rouges (si avancée>0)
* possibilité de relier chaque losange d'un projet par des lignes "isochrones" pour objectiver l'avancée générale du projet
* possibilité de créer un événement dans l'agenda à partir d'un point d'étape d'un projet
* possibilité d'associer un contact et/ou une PJ pour chaque étape des projets

Il reste probablement des erreurs, des oublis, des malfaçons, des bugs ...

A tester donc ... et merci de me laisser votre commentaire!
Pierre

 

* Edit du 28 jan 2021 : suite au message de Mano, correction d'un défaut pour les Rdv répétés en "sauvegarde interne"

* Edit du 25 dec 2020 : corrections et améliorations diverses

* Edit du 17 dec 2020 : suite au message de Sam, correction de défauts d'index (pour data en accdb)

* Edit du 15 dec 2020 : suite au message de Baboutz, correction d'erreurs et ajout de ses bonnes idées

 

Téléchargement de : Agenda21_28janv2021.zip

Visualisation de : Démo_Agenda_Saisie.gif

Visualisation de : Démo_Agenda_Décalage.gif

Visualisation de : Démo_Nouveau_Projet.gif

Visualisation de : Démo_Projet_Saisie.gif

Posté par tatiak à 12:16 - Applications - Commentaires [11] - Permalien [#]

10 septembre 2020

Planning Hebdomadaire d'Activités

Capture

Pour répondre à de nombreuses demandes, voici un planning hebdomadaire d'activités (et d'absences).

Le principe général de saisie est une sélection à la souris de plusieurs cellules d'une même ligne.

Deux vues sont proposées : un planning global de l'ensemble de l'équipe et un planning individuel pour chaque personne.

Dans l'onglet "Cfg", vous saisirez la liste de vos opérateurs/salariés avec leur qualifications. Un salarié peut avoir plusieurs qualifications (cf exemple)
On peut atribuer une couleur par salarié ou par qualification en colorant les colonnes A et B
On peut lister également les activités, éventuellement les clients et éventuellement les commandes
Les colonnes H et I servent à indiquer un nombre requis de qualification par tranche horaire.

Rq : les intitulés en B1-D1-E1-F1 de ce même onglet sont repris dans la fenêtre de saisie (pour mieux correspondre à vos besoins).

La saisie des horaires se fait à la souris : voir illustration animée dans le fichier zip (à ouvrir dans un navigateur si l'image ne s'anime pas).


Fonctions proposées :
* Vérification de la disponibilité des collaborateurs :
- lors de la création d'une nouvelle activité
- lors de la modification d'une activité existante (vérification si modification de date, d'horaires ou de nom par rapport aux enregistrements existants)
- lors de la duplication des horaires d'une semaine entière

* Un tableau récapitulatif des diverses qualifications par 1/2h est disponible après un clic sur une date (colonne B) du planning "Global".

* Affichage au choix du nombre de salariés simultanément (boutons + et - en haut à gauche)

* Fonction "Dupliquer" pour copier à l'identique les horaires prévus sur une semaine suivante (au choix +1, +2, +3 ou +4)

* Bilan hebdo des heures effectuées par chacun et des absences

* Bilan annuel des heures travaillées

* D'autres bilans sont disponibles via les fichiers externes proposés (cf fichier zip)

 

Précision sur les "Qualifications" : un salarié peut avoir plusieurs qualifications (par ex : Vendeur, Mécanicien)
Le tableau de comptage des qualifications permet de s'assurer que le seuil défini est bien atteint sur les créneaux horaires souhaités. Pour reprendre l'exemple : s'il est nécessaire d'avoir au moins 2 vendeurs de 9h à 17h, le tableau de comptage indique pour chaque 1/2 heure le nombre de vendeurs avec un code couleur indiquant si le nombre est atteint ou non.
2 affichages sont disponibles : soit le comptage se fait sur la première qualification indiquée (ex Vendeur), soit sur toutes les qualifications des salariés : un "Vendeur, Mécanicien" sera compté 1 pour Vendeur ET 1 pour Mécanicien.

 

Si ce fichier vous est utile, n'oubliez pas de laisser un commentaire!

Pierre

 

Nouvelle version du 26/11/2020, avec correction de plusieurs défauts (en réponse aux signalements d'utilisateurs) et quelques nouveautés :

  • boutons "Imprimer" => ouvre la fenêtre de prévisualisation pour permettre à chacun de configurer l'impression selon l'imprimante disponible
     
  • pour incrémenter la barre d'avancement (ligne en bas d'un histogramme) : simple clic sur la barre (incrément selon valeur de O2 onglet "Cfg")
     
  • ajout de l'option d'affichage de traits isochrones pour visualiser l'avancée globale de l'équipe (ou partie de)
     
  • ajout d'un bilan hebdomadaire des heures travaillées
     
  • choix possible pour l'enregistrement les données : soit dans le fichier Excel, soit dans des fichiers csv externes (pour alléger le fichier Excel) => choix à faire dans la liste à droite au dessus du comptage journalier de l'onglet "Global"

Téléchargement de : Activités+_21mars2021.zip

Téléchargement de : Exemple_Recup_Activités_3b

Téléchargement de : Démo_Activités_Décalage.gif (gif animé)

Téléchargement de : Goodies divers pour Activités.xlsm

Téléchargement de : Démo_Activités.gif (gif animé)

Téléchargement de : Démo_Activités_Absences.gif (gif animé)

Capture2

* Edit du 20/03/2021 puis du 21/03/2021 : correctionS sur signalementS d'Arnaud.

* Edit du 17/02/2021 : mise à jour avec des corrections et qq améliorations pour améliorer la compatibilité Xl64bits

* Edit du 31/01/2021 : mise à jour du fichier principal avec des corrections et qq améliorations. Un clic sur un nom ouvre la fiche individuelle de la personne.

* Edit du 10/11/2020 : en réponse à la question de LF, version avec "décalage". Suite à un clic sur un horaire (de début ou de fin) les tâches programmées pour la journée de la ligne sont décalées d'1/4h ou 1/2h selon 'affichage.

* Edit du 02/11/2020 : en réponse à la question de Michel : ajout d'une démo pour saisie des absences. Nb les motifs des absences doivent se composer d'un seul mot lié sans espace, par ex : Congés_exceptionnels

* Edit du 19/09/2020 : ajout bilan des heures supplémentaires (selon durée journalière du travail en M2 de l'onglet 'Cfg')

* Edit du 11/09/2020 : correction du bilan des absences (signalement de Phil)

Posté par tatiak à 11:27 - Applications - Commentaires [40] - Permalien [#]

01 avril 2020

Suivi de la pandémie du Covid 19

Capture

Pour suivre l'évolution de la pandémie du Covid 19 il est possible de récupérer automatiquement les données publiques pour la France et les DOM.

La carte proposée permet de visualiser l'évolution de la pandémie depuis le 18 mars 2020 (date des premières données disponibles) selon 4 critères : nombre de personnes hospitalisées, nombre de personnes en réanimation, nombre de sorties, nombre de décès.

La carte se colore selon les départements ou les régions au choix.

Le fichier proposé comporte 2 onglets :

  • un onglet "Data" avec un bouton permettant de récupérer automatiquement les données publiques disponibles
  • un onglet "Carte" dont les départements ou régions se colorent selon les choix proposés

J'aurai préféré ne jamais proposer ce type de carte!

Le fichier proposé est, quant à lui, exempt de virus ...

Pierre

Téléchargement de : Suivi_Pandémie_2020.zip

 

Capture_Monde

Edit : Les données mondiales sont également disponibles en OpenData sur :

https://opendata.ecdc.europa.eu/covid19/casedistribution/json/

Dès lors, il est possible de proposer le même type d'outil que le précédent avec une carte du monde.

 

 Téléchargement de : Suivi_Pandémie_Monde_2020c_03/04/2020.zip

Posté par tatiak à 11:14 - Excel-Cartographie - Commentaires [5] - Permalien [#]

13 février 2020

Conversion Lambert 93 WGS84 UMT

Pour les spécialistes des GIS, voici un double convertisseur à double-sens:

  • WGS84 vers Lambert93
  • Lambert93 vers WGS84

et aussi :

  • WGS84 vers UTM
  • UTM vers WGS84

et aussi (juste pour le fun) :

  • DMS vers DD

Si ce convertisseur sous est utile, n'oubliez-pas de me laisser un commentaire!

Merci à Jacques pour la demande WGS84<=>UTM

Pierre

 

* Edit du 09/03/2021 : amélioration et accélération du code pour accepter les longues listes  à convertir (Merci à Mathilde)

Téléchargement de : Wgs84_to_Lambert93_to_Wgs84_mars2021.xlsm

Téléchargement de : Lambert93_Wgs84_UTM.xlsm

Téléchargement de : Lambert93_Wgs84_UTM_Lettre.xlsm

 

Edit du 19/03/2020 (confinement J3) : pour les 3 fichiers => correction d'un défaut mineur (signalement de Jacques)

Edit du 18/03/2020 (confinement J2) : version alternative incluant la lettre de la zone UTM (exemple : 31-U)

Edit du 17/03/2020 15h20 : version corrigée pour prendre en compte l'hémisphère Sud

Posté par tatiak à 20:12 - Excel-Cartographie - Commentaires [11] - Permalien [#]

19 octobre 2019

Interroger une base MySql depuis Excel (VBA) - 2/2

Suite de l'article sur le couplage Excel<=> Base MySql =>

Et pour répondre à "Dorian" voici quelques notions à connaitre pour rédiger les requêtes au "format VBA".


Pour l'exemple, imaginons une base simple avec une seule table et les quelques champs suivants:
* id : nombre entier
* nom du client : texte
* date de visite : date
* quote part : nombre réel


1/ Les guillemets :

Pour une requête classique, les noms des champs doivent être entourés de guillemets-du-7 (Alt-Gr 7 2fois puis backspace) soit par exemple pour un Select :

en Sql => SELECT `Id`, `nom du client`, `date de visite`, `quote part` FROM LaTable
en VBA => requete = "SELECT `Id`, `nom du client`, `date de visite`, `quote part` FROM LaTable"
(avec Dim requete As string)

Pour ajouter une clause WHERE avec une variable var, c'est selon le type de champs :
* champs numérique :
en Sql => SELECT `Id`, `nom du client`, `date de visite`, `quote part` FROM LaTable WHERE `Id` = var
en VBA => requete = "SELECT `Id`, `nom du client`, `date de visite`, `quote part` FROM LaTable WHERE `Id` = " & var
(avec Dim var As Integer)

* champs texte :
en Sql => SELECT `Id`, `nom du client`, `date de visite`, `quote part` FROM LaTable WHERE `nom du client` = var
en VBA => requete = "SELECT `Id`, `nom du client`, `date de visite`, `quote part` FROM LaTable WHERE `nom du client` = " & "'" & var & "'"
(avec Dim var As String) ici la valeur texte var est entourée de guillemets-simples-du-4

* Cas particulier de la variable contenant elle même un guillemets-simples-du-4 (ou apostrophe) exemple (du navigateur) var="Armel Le Cleac'h" :
Dans ce cas il sera nécessaire de doubler ce guillemets-simples-du-4 soit var="Armel Le Cleac''h" (2 guillemets-du-4, on parle ici de caractère d'échappement)
Pour systématiser le traitement, autant 'échapper' à la volée les valeurs textes avec une fonction simple (et qui ajoute aussi des ' avant et après):
exemple :

Function Esc(S As String) As String
    Esc = "'" & Replace(S, "'", "''") & "'"
End Function

ce qui conduit à écrire la requête :
en VBA => requete = "SELECT `Id`, `nom du client`, `date de visite`, `quote part` FROM LaTable WHERE `nom du client` = " & Esc(var)

Ok, donc pas de guillemet pour les valeurs numériques, c'est cool! ... oui, mais ...


2/ Les valeurs numériques (non entières) :

Le format français courant de la marque de décimale est une virgule par exemple `quote part`= 0,25
Mais pour le MySql cette valeur est stockée avec un point `quote part`= 0.25
Il est donc nécessaire de modifier à la volée la virgule par un point, par exemple avec une autre fonction simple :

Function Esc_num(S As String) As String
    If S = "" Then S = "0"
    Esc_num = Replace(S, ",", ".")
End Function

Un exemple d'appel (var étant par exemple var=sheets("Feuil1").range("A1").text) :
en VBA => requete = "SELECT `Id`, `nom du client`, `date de visite`, `quote part` FROM LaTable WHERE `quote part` = " & Esc_num(var)


3/ Les valeurs dates :

MySql stocke les valeurs date au format Iso, soit 2019-06-30 pour le 30 juin 2019
Ici encore, il est donc nécéssaire de reformater la chaine 30/06/2019 par une tite fonction simplette :

Function datefr_vers_iso(datefr As String) As String
Dim Dt As Variant
    Dt = Split(datefr, "/")
    datefr_vers_iso = "'" & Dt(2) & "-" & Dt(1) & "-" & Dt(0) & "'"
End Function

Un exemple d'appel (var étant par exemple var=sheets("Feuil1").range("A1").text contenant une date) :
en VBA => requete = "UPDATE LaTable SET `date de visite` = " & datefr_vers_iso(var) & " WHERE `Id` =" & 2

(Ce qui veux dire qu'à la lecture, il faudra une fonction inverse : Function iso_vers_datefr)


Pour finir, un p'tit rappel de quelques conventions d'usage :
* les mot clé du Sql sont à écrire en majuscule SELECT FROM WHERE DISTINCT, ...
* utiliser plutôt plusieurs lignes (pour la lisibilité), exemple :

   Requete = "SELECT `P.id`, `P.Date`, `P.Titre`, `P.Nom`, `P.Prenom` , `R.Recette` FROM Publics AS P " & _
                " INNER JOIN Ecritures AS R ON `P.Id`=`R.Id`" & _
                " WHERE LEFT(`P.Nom`,1)='" & Critere & "' " & _
                " ORDER BY `P.Titre` ASC, `P.Nom` ASC"

/!\ ATTENTION : dans cette dernière requête la fonction LEFT est celle du SQL et non celle du VBA!!
(=> toutes les fonctions du VBA ne sont pas reconnues par le Sql, se référer à sql.sh)


Voilà, avec ça on peut commencer à rédiger sérieusement ses requêtes depuis Excel.

Si cet article vous est utile, laissez moi un commentaire!
Pierre

Posté par tatiak à 11:05 - Excel-Base de Données - Commentaires [28] - Permalien [#]

13 octobre 2019

Congés - Absences

Suite à plusieurs demandes, voici un nouveau planning de congés.
Ici, le principe général de saisie passe par la sélection de plusieurs cases d'une ligne d'un salarié, proposant ainsi une saisie la plus simple possible.


Description du fichier :

* Un onglet "Cfg" avec :
-- une date de début d'exercice (pour comptabiliser les absences de janvier à décembre, ou de juillet à juin, ou toute autre période selon le système utilisé dans votre entreprise)
/!\ Nota 1 : cette info sera à modifier à chaque début d'exercice pour remettre les compteurs à zéro (le fichier de données contenant les info de l'année précédente n'est pas effacé)
/!\ Nota 2 : à chaque début d'exercice, il est FORTEMENT conseillé d'enregistrer le fichier sous un nom différent de celui de l'exercide précédent (par ex : Congés_2019.xlsm, Congés_2020.xlsm, ...)

-- la liste des salariés + fonctions + droits annuel à congés, RTT
/!\ Nota : saisir la liste des salariés sans laisser de ligne vide
-- numérotation automatique de chaque ligne. Chaque ligne doit avoir un Id_S différent.Ne pas modifier cet Id_S au cours d'un exercice! Un salarié doit toujours avoir le même Id_S au cours de l'année.
-- dates début et fin de contrat. L'affichage sur les plannings se fait en fonction de ces dates
(par ex, si fin de contrat le 30/09/2019, ce nom n'apparait plus à compter de la semaine 40 sur le planning 'Hebdo')
-- quand un salarié quitte l'entreprise en cours d'année, il suffit donc d'indiquer sa date de départ (colonne G)


-- les motifs des absences + codes couleur (repris dans les graphiques) + code simplifié
La mention des histogrammes reprend ces codes simplifiés et le nb de jours ou d'heures.

Toutes ces info peuvent être modifiées comme chacun souhaite


* 3 onglets de planning : Hebdo, Mois et Année
-- /!\ avant une saisie : choisir dans la liste en haut le motif de l'absence

-- Hebdo : permet la saisie de quelques heures et/ou d'une journée de congé (par sélection des cases de 6:00 à 22:00)

-- Mois : permet la saisie de plusieurs jours par sélection de plusieurs cases

-- Annee : seulement visualisation des congés divers sur l'année (pas de saisie possible)

-- La liste déroulante "Fonctions" permet de sélectionner une catégorie de salariés pour l'affichage


* Saisie d'un "congé pour tous" (dans l'onglet "Mois" uniquement) : dans le cas d'un pont, par exemple, pendant lequel l'ensemble des salariés est en congé sur 1 ou plusieurs jours, il suffit de sélectionner une ou plusieurs colonnes sur l'ensemble des lignes de tous les salariés pour enregistrer cette absence multiple.


* Affichage/suppression d'une fiche absence via clic sur un histogramme
-- ligne commentaire (150 caractères maxi)

-- une absences n'est jamais complètement supprimée de la base.
Elle n'apparait plus sur les plannings, mais la ligne est toujours présente dans la base avec la date de 'suppression' avec éventuellement le commentaire saisi au moment de cette 'suppression'
La base garde ainsi l'ensemble de l'historique des saisies et 'suppression'


* Un onglet "Bilan" :
-- les différentes absences sont totalisées par motif (avec rappel des droits indiqués en "Cfg")

-- quand on le quitte, cet onglet est vidé des colonnes A à AS. On peut ajouter des formules à partir de la colonne AT pour faire un décompte.

Ce fichier correpondra au suivi des congés sur une année.

Cette appli a bénéficié de tests poussés réalisés par AL, ce qui a permis de régler de nombreux défauts.
Malgré tout, d'autre défauts éventuels sont toujours possibles (dans ce cas, cf fichier Log).

N'hésitez pas à me faire part des améliorations à apporter.

Et si cette appli vous est utile, laissez-moi un commentaire!
Pierre

 

Téléchargement de : Planning_Congés_v1.0c.zip

Téléchargement de : Planning_Congés_v1.2c.zip

Téléchargement de : Planning_Congés_v1.2d.zip

Téléchargement de : Planning_Congés_minutes_v1.5.zip

 

Vsc

Téléchargement de : Planning_Congés_minutes_v1.6.zip

Téléchargement de : Planning_Congés_minutes_v1.7.zip

 

* Edit du 22/04/2020 : version v1.7 - Correction d'un détail sur la visualisation des vacances scolaires (suite à une remarque de AL)

* Edit du 06/04/2020 : version v1.6 - Affichage des périodes des vacances scolaires (en France). Dans l'onglet "Cfg", un bouton "Vacances Scolaires" (en N1) permet de récupérer les dates en vigueur publiées pour l'année indiquée en A2 par requête sur le site : public.opendatasoft.com

Ces périodes sont représentées par des lignes horizontales dans l'onglet "Mois" selon les couleurs choisies en O1-P1-Q1 de "Cfg"
Un clic sur une de ces lignes affiche la période de vacances et la zone concernée (A ou B ou C)

 

* Edit du 4 avril 2020 : version v1.5 - Corrige un détail (calcul de la durée lors de la modification d'une fiche)

* Edit du 3 avril 2020 : version v1.4 - Corrige un détail (quand un férié est un samedi ou dimanche)

* Edit du 9 janv 2020 : version v1.3 - En réponse à la demande d'Evan. Version permettant la précision des absences à la minutes (à ajuster dans la fenêtre de saisie)

* Edit du 20 nov 2019 : correction d'un bug signalé par RoyalC

* Edit du 24 oct 2019 : la fiche permet maintenant de modifier les informations + corrections d'erreurs diverses

* Edit du 21 oct 2019 : version v1.0c, correction d'erreurs mineures

* Edit du 20 oct 2019 : version v1.0b avec d'autres améliorations proposées par AL

* Edit du 10 oct 2019 : version v0.10 avec des améliorations proposées par AL

Posté par tatiak à 10:49 - Applications - Commentaires [47] - Permalien [#]

01 février 2019

Graphique Pizza

Capture_Pizza

Pour répondre à NiboTD et à 78Chris, voici une démo de graphique "Pizza"

Ce graphique accepte un nombre quelconque de critères notés avec des valeurs entières. Ici dans l'exemple notation de 0 à 10, et on pourrait noter de 0 à 12 ou de 0 à 15, ou autre ...

Le principe général est assez simple.

La 'cible' est constituée de msoShapeBlockArc concentriques dessinées de l'intérieur vers l'extérieur. Ces shapes sont grisées et en transparence pour faire apparaitre les "graduations", et nommées pour pouvoir facilement les repérer ensuite.

Une fois la cible dessinée, pour chaque indicateur, il suffit de repérer la part de pizza correspondante, de la mettre au premier plan et de la colorer en diminuant sa transparence.

C'est une simple démo avec des données totalement fictives. Les couleurs sont entièrement configurables.

 

Si cette démo vous est utile, laissez-moi un commentaire!

Pierre

Téléchargement de : Graphique_Pizza_v1.0.xlsm

Posté par tatiak à 13:01 - Excel-Divers - Commentaires [2] - Permalien [#]

29 janvier 2019

Carnet de Rendez-vous

Capture



Pour essayer de répondre au besoin de Nathalie, propriétaire d'un institut de beauté, voici un Carnet de Rendez-vous sur Excel.
Le besoin est de diposer d'une feuille journalière sur laquelle on peut inscrire des rendez-vous tout en visualisant les créneaux disponibles. Ces rendez-vous peuvent avoir des durées diverses et sont répartis entre plusieurs esthéticiennes.

Voici donc ma proposition "Carnet_RDV.xlsm", un fichier comprenant 2 onglets.

  •  Un onglet "RDV" contenant les données "brutes"
  •  Un onglet "Planning" affichant le planning d'une journée.

A noter : pour éviter toute mauvaise manipulation les 2 onglets sont protégés. Protection simple sans mot de passe.

Dans l'onglet "Planning" :

  •  Saisie de la liste de vos intervenants (ethéticiennes, coiffeurs, ...) à droite du planning à partir de la ligne 7
  •  Changement de date : soit avec les 2 flèches qui entoure la date (en haut à gauche), soit par clic droit sur la date pour ouvrir un petit calendrier permettant de choisir une date. A noter : la case au dessus de la date indique si le jour indiqué est férié (fériés de France et de Belgique)
  •  Saisie d'un nouveau rendez-vous : cette saisie se fait dans le cadre en haut de l'onglet

    • Horaires : il suffit de sélectionner sur une ligne du planning un créneau libre pour que les heures s'affichent (ou utiliser les toupies à droite des cases).
    •  Prestation : cette case est multilignes.
    •  l'information "Retard" sert à retarder l'heure de fin initiale. Cf exemple ligne du 23/01-RAUD fin prévue 13h00 retard de 15min => sur le planning la fin s'affiche à 13h15
    •  Après enregistrement de la fiche le rendez-vous s'affiche au dessous dans la partie "Planning"
    •  Ce "Planning" comporte 12 lignes, si besoin on peut effacer des lignes non utilisée. Ou si on a besoin de plus de lignes, il suffit de modifier la valeur de la constante 'LIGNES' dans le module 'Accueil' et de recopier le formatage au dessous de la dernière ligne du planning.

 

  •  Consultation/modification d'un rendez-vous : les informations relatives à un rendez-vous s'affichent dans les cases après un clic sur un des rendez-vous affiché sur le "Planning"
  •  Suppression d'un rendez-vous : via bouton "Supprimer", la suppression s'effectue après validation par l'utilisateur.
  •  Impression du planning du jour : via bouton "Imprimer", l'impression se lance sur l'imprimante définie par défaut



Enregistrement/Sauvegarde :
Pour sécuriser les données :

  •  Le fichier s'enregistre automatiquement à sa fermeture.
  • Enregistrement automatique d'un 'Dump', sauvegarde de sécurité sous la forme de :

    •  un fichier par semaine pour les rdv de la semaine, fichier en csv avec un nom formaté 'Sem_4-2019.csv' par exemple pour la semaine 4 de 2019 (n° de semaine iso). Nb dans ce fichier les heures sont au format numérique, pour les lire il suffit de les reformater en "hh:mm")
    •  un fichier pour les rendez-vous à venir dans un délais d'un mois => 'A_venir_2019.csv'


NB : Ces sauvegardes auto n'empêchent pas les précautions habituelles => enregistrez régulièrement et copiez/collez régulièrement vos fichiers sur une clé USB ou un disque externe.



Si ce fichier vous est utile, n'hésitez pas à me laisser un commentaire!
Pierre

Téléchargement de : Carnet_RDV_v1i.xlsm

 

En réponse à Flo, voici une version qui devrait correspondre à sa demande :

  •  Dans l'onglet "Cfg" vous pouvez modifier la liste des "Activités" et leurs couleurs
  •  Dans l'onglet "Mois" on peut saisir un Rdv par sélection de cellules multiples sur une ligne (l'activité enregistrée est celle de la liste déroulante au dessus)
  •  Une fois le Rdv affiché, un clic sur l'histogramme ouvre une fenêtre de saisie/modif pour modifier notamment les horaires (par pas d'1/4h)
  • L'info saisie dans la case "Info" est reprise ensuite dans l'histogramme pour visualisation.
  •  L'onglet "Act" est destiné au stockage des enregistrements.
  • rq : Le zip contient 2 versions : 1/2h sur 24h ou 1/4h sur 12h

Téléchargement de : Carnet_RDV_Version_pour_Flo.zip

Téléchargement de : RDV_Quart_H_v0.2.zip

Posté par tatiak à 12:10 - Applications - Commentaires [21] - Permalien [#]