Projet demande de Vacance avec Excel et VBA

Hello a tous,

Je peux me permettre de revenir vers vous.
Je travaille sur un projet Excel pour les demandes de vacances de nos collaborateurs.

Actuellement la demande de vacances se fait avec PowerPoint.

Je vous joins la demande actuelle et la procedure les 9 zones envoient par mail, leur demande à notre responsable.

Si le responsable refuse, il renvoie dans la zone concernée, s’il accepte et l’envoie au service RH.
Ont transformons le fichier en PDF et le renvoyons dans la zone concernée.

J’ai essayé plusieurs méthodes, faire un fichier central ou tout le monde ait accès.

Créé par zone un fichier et le mettre en lien avec un seul et unique fichier pour le responsable.

Je me retrouve coincé quand il s’agit d’accepter ou de refuser, mon Responsable bien sûr doit avoir accès à ce choix mais pas les Zones, ou les liaisons case.
l’export PDF je ne maîtrise pas

Je me dis peut-être que vous avez une idée plus simple, ou peut être m’ouvrir les yeux sur quelque chose que je ne vois pas.

Merci beaucoup
très bonne journée a tous

J’ai essayé d’imaginer de rajouter une feuille dans le fichier de gestion de chaque zone pour qu’il puisse rentrer les vacances.

De pouvoir envoyer uniquement cette feuille au responsable concerné.
Quand j’appuie sur envoyer il me dit que l’objet Requis.

Mais il faudrait qu’il reçoit seulement la feuille en format Excel
Gestion Absence.xlsm (235,8 Ko)
par mail, j’arrive pas :frowning:

Merci D’avance
Johnny

Bonsoir

Cette ligne de code est mal écrite :

Set Mafeuille = thisworbook.Sheets(« Gestion des Absence »)

manque un « K » à « thisworbook »

Il faut écrire « ThisWorkbook »

Cela donne cette ligne de code :

Set Mafeuille = ThisWorkbook.Sheets(« Gestion des Absence »)

Tu verras la différence

Essaies

Hello FFO,

Une nouvelle fois merci à toi, je vais regarder ça volontiers aujourd’hui.

Quel apprentissage un simple changement de format et une seule lettre changent considérablement la donne :blush:.

Au plaisir
Johnny

FFO,

J’ai fait le changement que tu m’as dit et maintenant ça me met un code erreur 400 j’ai regardé sur internet j’arrive pas à voir ce que c’est.
image

Puis-je te redemander de l’aide s’il te plaît

Je crois que j’arrive à toucher au but ce que je souhaiterais

Etape 1)

Je vais créer dans toutes les zones un fichier comme celui-ci avec une liste déroulante des collaborateurs qui sont affiliés à cette zone.

Je souhaiterais sur la cellule « A22 », les chefs de zone puissent choisir à quel responsable envoyer et cliquez sur l’enveloppe pour envoyer le fichier mais uniquement la feuille « Gestion des Absences », a l’adresse choisie en « A22 »

Etape 2)

Le responsable du dépôt reçoit le fichier par mail en format Excel.

Qu’il puisse cliquer sur le validé vert, que sa note OK sur la cellule « A29 », que le « Refuse » disparaisse et que ça prépare un mail en format PDF.
J’ai essayé en rajoutant dans le ruban l’envoie en PDF mais quand j’essaye de faire la macro pour ça il me l’envoie en format Excel

Et s’il refuse.

Qu’il puisse mettre sur la cellule « A29 » le motif et qui clique sur refuser, Que le Validé disparaisse
Pour que ça génère un Mail en format Excel.

Penses-tu pouvoir m’aider ? encore :blush:
Gestion Absence.xlsm (146,3 Ko)

Bonjour
Avant l exécution as tu ouvert ton logiciel de messagerie ?

Quel est il ?

Merci de me dire

oui , je travaille avec Outlook, dès que je suis au travail c’est la première chose que j’ouvre il reste ouvert toute la journée

Après analyse de ta procédure quelques corrections à l’appui je te transmets cette version que je ne peux tester n’ayant pas de logiciel de messagerie pour essai
Fais moi un retour sur le résultat obtenu

Gestion Absence.xlsm (235,1 Ko)

1 « J'aime »

j’ai réussi à en envoyer un et après j’ai eu ce message d’erreur

image

je me permets de te renvoyer le fichier, j’ai créé une nouvelle version du fichier pour respecter un emplacement PDF

Gestion Absence.xlsm (146,3 Ko)

Merci Beaucoup
Johnny

Essaies avec celui-ci car je ne peux tester n’ayant pas de messagerie sur mon PC
Fais moi un retour

Gestion Absence2.xlsm (141,4 Ko)

1 « J'aime »

oui c’est parfait il prépare bien le mail avec la pièce jointe.

image

Étant toujours dans l’idée de pousser la réflexion toujours plus loin, j’ai retenu que tu m’as dit un jour « tout est possible », et ça m’encourage depuis à réfléchir davantage merci. :blush:

Je souhaiterais que Excel me donne les informations suivantes à chaque nouvelle demande grace au Bouton " A Traité", avec le Nom et Prenom :

Son Solde de Vacances : Colonne « NU »
Son Solde d’heure : Colonne « « Q »
Le pourcentage de la ligne « 565 », pendant la période demande
Un Avertissement si pendant les périodes Interdite (pouvoir autorisé ou non)

image

grâce au bouton « valider » que celui-ci soit envoyé par mail en pièce jointe en format PDF uniquement la « feuille gestion des absences ».

Et grâce au bouton « refusé » la feuille « gestion des absences » mise en pièce jointe format Excel.

(Pour éviter les signatures.
Un collaborateurs reçoit sa demande en fichier PDF c’est qu’elle est forcément valider).

C’est pas grand-chose mais je t’ai juste mis les liens des colonnes pour pas que tu t’ennuies à naviguer
image

Je suis maintenant juste en train de réfléchir comment les demandes des 9 Zones arrivent elles à mon responsable, je trouverai :blush:,

Encore merci à toi, j’ai bien compris que je ne pouvais pas de mandater :frowning: et je te redis ça me ferait plaisir de pouvoir te remercier avec des spécialités culinaires du Jura

Johnny
Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm (1,3 Mo)

Merci pour ce bilan concernant l’envoi du mail
Pour la suite ci-joint cette partie :

« Je souhaiterais que Excel me donne les informations suivantes à chaque nouvelle demande grace au Bouton " A Traité », avec le Nom et Prenom :

Son Solde de Vacances : Colonne « NU »
Son Solde d’heure : Colonne « « Q »"

Cliques sur le bouton un message donne ces 2 éléments (pour le solde d’heure la colonne Q n’était pas remplie j’ai sélectionné une donnée pour pouvoir réaliser le test)

Pour ceci:

« Le pourcentage de la ligne « 565 », pendant la période demande
Un Avertissement si pendant les périodes Interdite (pouvoir autorisé ou non) »

Il faut m’en dire plus car ligne 565 chaque jour a son propre pourcentage donc difficile dans une période demandée d’opter pour l’un d’entre eux lequel choisir ?
Comment détermine t’on le pouvoir autorisé ?

Pour l’envoi en fichier « .pdf » il est impératif de créer le fichier sur la base de l’onglet « gestion des absences » donc de l’enregistrer sous ce format avant de le transmettre par mail
Sous quel nom doit il être enregistré et dans quel répertoire
Chacun devra t’il être conservé ?

Merci pour ces réponses

Ton fichier avec les premières évolutions

Tableau Planning Hebdomadaire S01 à S51 - 2022+ - TEST.xlsm (481,9 Ko)

je pense qu’il y a une confusion dans les fichiers :blush:

[quote=« FFO, post:12, topic:10337 »]
Il faut m’en dire plus car ligne 565 chaque jour a son propre pourcentage donc difficile dans une période demandée d’opter pour l’un d’entre eux lequel choisir ?

La ligne 565 est le fruit d’un calcul de l’effectif, moins les maladies, moins les congés, le nombre de commandes qui donne en pourcentage sur la capacité de notre dépôt qui varie au quotidien.
Ah oui effectivement je comprends la difficulté d’obtenir cette donnée.

Est ce possible d’avoir du coup le pourcentage du premier jour de la demande d’absence ?
Où est ce que c’est possible que ça calcul tous les pourcentages de la période demandée pour une moyenne ?

Comment détermine t’on le pouvoir autorisé ?
[/quote]

cela serait uniquement valable pour les périodes interdites dans la feuille « période interdite », que mon responsable puisse valider pour x où y raison qu’il accepte malgré une période interdite.

> Pour l’envoi en fichier « .pdf » il est impératif de créer le fichier sur la base de l’onglet « gestion des absences » donc de l’enregistrer sous ce format avant de le transmettre par mail
> Sous quel nom doit il être enregistré et dans quel répertoire
> Chacun devra t’il être conservé ?

La feuille que j’ai créé gestion d « gestion des absences », j’ai fait en sorte que ça respecte si on l’exporte en PDF la mise en page cela ne suffit pas ?
Sinon j’ai pas compris ce que je dois faire
Non une fois la demande envoyée en PDF part Mail nul besoin de le conserver, moi derrière je l’enregistre dans le dossier du collaborateur concerné

Les fichiers pdf pour être transmis par mail doivent être présent dans un répertoire afin de les récupérer pour l envoi donc nécessité de les enregistrer à un nom lequel ? dans un répertoire lequel ?
Pour le pourcentage la récupération de celui du premier jour est plus simple que de realiser la somme de chacun de la période pour en établir la moyenne surtout si celle-ci est conséquente mais tout est faisable
Pour les périodes interdites plusieurs configurations possibles :
Celle souhaitée est totalement différente tout roule
Celle souhaitée est strictement identique une alerte est déclenchée
Celle souhaitée correspond pour une part seulement quid de l alerte ou non à fournir ?

Merci donc pour toutes ces reponses

[quote=« FFO, post:14, topic:10337 »]
Les fichiers pdf pour être transmis par mail doivent être présent dans un répertoire afin de les récupérer pour l envoi donc nécessité de les enregistrer à un nom lequel ? dans un répertoire lequel ?
[/quote]

est ce que ce chemin serait possible ?

N:\DEPT-LOG\Ressources humaines et administration\Demande de Vacance 2022

ça serait comme si que ça s’enregistre dans une mémoire tampon pour pouvoir l’envoyer par mail ?

Quand j’avais essayé ça la difficulté que je rencontrais c’est que le nom est le même et le temps que moi je le traite mon responsable ne pouvait pas renvoyer d’autre sans écrasés

Potentiellement quand il traite les vacances dans la journée il fait ça d’un coup et je peux en recevoir de 5 à 15 dans la journée

Pour les périodes interdites plusieurs configurations possibles :
Celle souhaitée est totalement différente tout roule
Celle souhaitée est strictement identique une alerte est déclenchée
Celle souhaitée correspond pour une part seulement quid de l alerte ou non à fournir ?

La 3e solution me semble idéale, et juste laisser la possibilité d’ignorer l’alerte

merci a toi

Non ce n est pas une memoire tampon c est un fichier normalement enregistré qui demeure tant qu il n est pas supprimé ou remplacé au même titre que n importe quel autre fichier
Le chemin proposé est il le même que celui du fichier Excel avec même répertoire ?

« Quand j’avais essayé ça la difficulté que je rencontrais c’est que le nom est le même et le temps que moi je le traite mon responsable ne pouvait pas renvoyer d’autre sans écrasés »

Désolé rien compris !

« La 3e solution me semble idéale, et juste laisser la possibilité d’ignorer l’alerte »

Je ne propose pas un choix mais décrit toutes les situations qui peuvent se présenter et donc que tu me donnes la conduite à tenir pour chacune d elle que dois faire le traitement à chacune ?

1 « J'aime »

Hello FFO,

J’ai plaisir de revenir vers toi de te demander de l’aide, surtout ton avis et ton expérience.

Tous nos fichiers sont en ligne sur le réseau d’entreprise, une fois connecter au réseau les liens et les chemins ne posent plus de problème (à ma connaissance).

Je me permets de te exposer mon idée.

Je te joins un exemple d’un fichier d’une zone ( 9 au total) « ExempleFichierZone »

ExempleFichier Zone.xlsm (215,3 Ko)

Dans la feuille gestion des absences j’ai créé une macro lui disant d’envoyer au fichier principal « Organisation du personnel 22picks », (Ce fichier est ouvert et en ligne H24) dans la feuille « a traité ».

Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm (1,3 Mo)

Dans le fichier principal feuille « Gestion de Absence », j’ai créé une macro avec le bouton « à traiter », qui reprend les valeurs de la "Feuille a traité " de la ligne 2 et là supprime. Ainsi de suite.

D’apres toi , Est ce que avec ce système cela semble possible de pouvoir réunir les 9 zones.

Pour l’envois en PDF une fois le mail parti peut-on directement supprimer le PDF de son emplacement ?

Celle souhaitée est totalement différente tout roule,

Affiche les informations courante

Son Solde de Vacances : Colonne « NU »
Son Solde d’heure : Colonne « « Q »
Le pourcentage de la ligne « 565 », pendant la période demande

Celle souhaitée est strictement identique une alerte est déclenchée

Proposer un choix pour valider ou refuser

Celle souhaitée correspond pour une part seulement quid de l alerte ou non à fournir ?

Proposer un choix pour valider ou refuser

Bonjour

Pour ceci :

« Le pourcentage de la ligne « 565 », pendant la période demande »
Tu ne pas répondu à mes propos sur ce sujet :

Pour le pourcentage la récupération de celui du premier jour est plus simple que de réaliser la somme de chacun de la période pour en établir la moyenne surtout si celle-ci est conséquente mais tout est faisable

Quelle option choisis tu ?

Pour la recopie des demandes par zone (fichier ExempleFichier Zone.xlsm onglet « Gestion des Absences » vers le fichier Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm onglet « a traité ») je me pose cette question :

comment enrichir un fichier qui est déjà ouvert ?

Tu dis :

« fichier principal « Organisation du personnel 22picks », (Ce fichier est ouvert et en ligne H24) dans la feuille « a traité ». »

Si celui-ci est occupé il ne peut être accessible donc on ne peut l’alimenter
Pour réaliser cette opération il doit être libre donc fermé pour être à nouveau ouvert et alimenté
Je reste perplexe
Tes procédures sont beaucoup trop lourdes (insertion ligne, copie des cellules sources vers les cellules cibles cellule par cellule chacune avec son propre traitement)
d’une procédure avec un grand maximum d’une dizaine de ligne pour arriver au même résultat tu en viens avec ta méthode à plus de 50 lignes d’instruction particulièrement gourmande en temps d’exécution
Je pense qu’il faut considérablement simplifier

Exemple macro bouton « A Traité » fichier « Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm » onglet « Gestion des Absences »

Ces lignes de code :

Sheets(« a traité »).Select
Range(« A2 »).Select
Selection.Copy
Sheets(« Gestion des Absences »).Select
Range(« A6 »).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Peuvent être remplacées par cette seule ligne de code :

Range(« A6 »).Value = Sheets(« a traité »).Range(« A2 »).Value

Pour un même résultat

1 ligne de code au lieu de 6 lignes

Et ce pour 19 blocs à l’identique pour différentes cellules qui doivent subirent le même sort
soit 54 lignes qui peuvent être réduites à 9 lignes de codes

A toi de voir mais pour moi il y a un sérieux ménage à réaliser de plus simplification de la procédure plus facile à faire vivre et un délais d’exécution qui ne s’en trouvera que mieux
Ce nettoyage est aussi à envisager pour le traitement du bouton « Envoyé » de l’onglet « Gestion des Absences » du fichier « ExempleFichier Zone.xlsm »

Autre question pourquoi intégrer les nouvelles données onglet « a traité » fichier « Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm » par le bouton « Envoyé » de l’onglet « Gestion des Absences » du fichier « ExempleFichier Zone.xlsm » en ligne 2 donc d’insérer à cette fin un ligne pour déplacer vers le bas toutes les autres et de ne pas plutôt utiliser dans la même dynamique la première ligne libre du bas de cet onglet cible ?

Peut être une bonne raison mais moins simple à mettre en oeuvre plus lourde de mon point de vue

Maintenant c’est toi qui décide
Merci pour toutes tes précisions

Hello FFO,

Merci pour ton retour

Tu ne pas répondu à mes propos sur ce sujet :
Pour le pourcentage la récupération de celui du premier jour est plus simple que de réaliser la somme de chacun de la période pour en établir la moyenne surtout si celle-ci est conséquente mais tout est faisable

Quelle option choisis tu ?
[/quote]

Le pourcentage du premier jour d’absence suffira tu a raison ca donnera une vue suffisante.

Pour la recopie des demandes par zone (fichier ExempleFichier Zone.xlsm onglet « Gestion des Absences » vers le fichier Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm onglet « a traité ») je me pose cette question :

comment enrichir un fichier qui est déjà ouvert ?

Toutes les zones et le staff Management nous sommes connectés sur le one drive « sharepoint » de l’entreprise, du coup nous pouvons travailler à plusieurs utilisateurs en même temps sur les fichiers avec un enregistrement automatique.

Peuvent être remplacées par cette seule ligne de code :

mes compétences limitées ne me permettent pas d’avoir une vision sur une méthode plus simple et
efficace.
pour le moment je suis au stade d’enregistrer mes macros avec « l’enregistrement écran », c’est volontiers que je suis ton expérience et conseil.

**Autre question pourquoi intégrer les nouvelles données onglet « a traité » fichier « Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm » par le bouton « Envoyé » de l’onglet « Gestion des Absences » du fichier « ExempleFichier Zone.xlsm »

Pour que mon responsable puisse contrôler les demandes de vacances justement en fonction des critères
Solde
Capacité ect…
Le fichier« ExempleFichier Zone.xlsm » demandeur, ( x9)
Organisation du personnel - 22 Picks Proget Donnée Absence.xlsm, Receveur

en ligne 2 donc d’insérer à cette fin un ligne pour déplacer vers le bas toutes les autres et de ne pas plutôt utiliser dans la même dynamique la première ligne libre du bas de cet onglet cible ?
c’était dans l’idée que les demandes des 9 zones arrivent sur le même fichier pour pouvoir les traité

Peut être une bonne raison mais moins simple à mettre en oeuvre plus lourde de mon point de vue

J’ai besoin de réunir l’ensemble des demandes des 9 zones ( 9 postes de travail connecte) sur une seule feuille Excel ( Fichier Organisation).

Merci FFO

Tu ne réponds pas à mes questions

Pourquoi prendre la ligne 2 en faisant glisser vers le bas celles déjà présentes et ne pas plutôt utiliser la première ligne disponible après celles déjà alimentées ?

« Toutes les zones et le staff Management nous sommes connectés sur le one drive « sharepoint » de l’entreprise, du coup nous pouvons travailler à plusieurs utilisateurs en même temps sur les fichiers avec un enregistrement automatique. »

Moi à mon avis si à la saisie cela fonctionne je crains qu’en macro cela soit une autre histoire
J’ai un très fort doute

C’est toi qui le verra

« J’ai besoin de réunir l’ensemble des demandes des 9 zones ( 9 postes de travail connecte) sur une seule feuille Excel ( Fichier Organisation). »

C’est bien ce que j’ai compris mais essaies d’alléger ta macro comme je te l’ai indiquer