Création onglets à partir d'un modèle pour les jours ouvréS

Résolu/Fermé
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - Modifié le 1 févr. 2022 à 14:13
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 - 3 févr. 2022 à 14:45
Bonjour,

J'ai un fichier avec 2 onglets :

1er onglet avec une liste d'agents
2ème onglet comme Modèle

Je souhaite copier l'onglet "Modèle" et créer tous les onglets par jour ouvré en automatique.

C'est à dire, à partir de l'onglet Modèle, créer les autres onglets pour les jours ouvrés du mois demandé.

Exemple : Pour le fichier du mois de Février 2022 demandé,

Copie de l'onglet Modèle et création de tous les onglets représentant les jours ouvrés .

1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28 (Nom des onglets)

Pour le fichier du Mois de Mars 2022 demandé,

Copie de l'onglet Modèle et création de tous les onglets représentant les jours ouvrés .

1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31(Nom des onglets)

Etc ......

Merci d'avance,

Bien cordialement,

Configuration: Windows / Firefox 78.0
A voir également:

10 réponses

Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
1 févr. 2022 à 14:17
Bonjour,
Et si vous mettiez un fichier avec exemple rempli manuellement à disposition , se serait plus profitable pour vous aider!
1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 1 févr. 2022 à 15:47
..../


Voici le fichier du mois de janvier avec les onglets créés manuellement.

https://www.cjoint.com/c/LBboR7FEJlo

Merci !
0
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
1 févr. 2022 à 18:15
Boujour,
Merci du retour je regarde pour une solution.
Patience.
1
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
Modifié le 1 févr. 2022 à 22:23
Bonjour,
Je vous propose la solution provisoire qui pourra être finalisée selon vos commentaires!
Le lien : https://www.cjoint.com/c/LBbvxJrrLen
1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
2 févr. 2022 à 09:26
Bonjour,

Merci pour ce code vba !

J'ai testé pour tous les mois, ok pour la prise en compte du Lundi au Vendredi (sans Weekend)

Pour le mois de février, le code ne fonctionne pas .... du dimanche au ..... et création du 29/02/2022, 30/02/2022 et 31/02/2022.

Est-il possible de ne pas créer les jours qui sont fériés ou non travaillés ?
Encore Merci pour ce travail !

Cdlt
PYGOS69
0
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
2 févr. 2022 à 09:50
Bonjour,
Merci du retour, je vais contrôler le petit problème de février !
Pour les jours fériés, me fournir la table concernant de votre pays!
1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
2 févr. 2022 à 11:13
.../

Merci ! Voici le fichier avec les jours fériés et non travaillés à prendre en compte....

https://www.cjoint.com/c/LBckkGIZUiq

J'ai ajouté quelques lignes de code pour adapter votre travail à mes besoins...

Encore Merci !


Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
Modifié le 2 févr. 2022 à 15:23
Bonjour,
Votre fichier avec prise en compte des jours fériés. En plus j’ai modifié la référence de la plage nommée [modele] au cas ou vous ajouter /supprimer un/des agent/s se sera automatiquement intégrer.

Le lien : https://www.cjoint.com/c/LBcow5LlMFn

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
2 févr. 2022 à 16:59
..../

Un grand Merci ! C'est exactement ce que je cherchais ....

J'ai une partie de nom code qui ne réponds plus (que je viens de rajouter)

Dim Resultat As Integer


Resultat = CreateObject("WScript.Shell").Popup("La création des feuilles par jour ouvré est terminée !" & Chr(10) & Chr(10) & "Merci pour votre patience !" & Chr(10) & Chr(10) & "Cette fenêtre se fermera automatiquement dans 2 secondes...", 2, "Information de Fin de traitement")

Le timer ne fonctionne plus ....Avez-vous une idée !

Bonne fin de journée !
0
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
3 févr. 2022 à 13:54
Bonjour,
J'ai introduit la ligne de code dans vote fonction [MEF] et déclaré la variable Resultat comme Variant.
Le message s'affiche est se ferme après 30 secondes environ.
1
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
3 févr. 2022 à 14:45
Bonjour,
Si vous êtes avec vin64bts, essayez comme suit:
Declare PtrSafe Function MessageBoxTimeout Lib "user32.dll" Alias "MessageBoxTimeoutA" ( _
ByVal hwnd As Long, _
ByVal lpText As String, _
ByVal lpCaption As String, _
ByVal uType As Long, _
ByVal wLanguageID As Long, _
ByVal lngMilliseconds As Long) As Long

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Public Sub test_msgbox_temp_2()
Const cmsg As String = "Msgbox avec tempo de 2s"
Const cTitle As String = "Popup"
Dim retval As Long
retval = MessageBoxTimeout(FindWindow(vbNullString, Title), cmsg, cTitle, 4, 0, 2000) 'en ms
End Sub

1
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
1 févr. 2022 à 16:53
Bonjour,
Je constate qu'il n'y a aucune date dans le fichier, je suppose que c'est pour Janvier et que pour Février vous créez un nouveau classeur.... est-ce bien cela... ?

0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 1 févr. 2022 à 17:06
.../

Oui je pensais, trouver les jours ouvrés avec la fonction, moins les jours fériés.... Et ensuite créer les onglets en récupérant le jour (3,4,5,6,7.....etc) pour le mois de janvier par exemple

Oui, à ce jour il existe un fichier par mois

Cdlt
PYGOS69
0
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
2 févr. 2022 à 13:20
Merci du retour.
Concernant l'erreur pour le mois de février il s'agit d'un caractère erroné de ma part (c'est corrigé)
La suite, patience.

0
Le Pingou Messages postés 12103 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 juin 2024 1 440
Modifié le 2 févr. 2022 à 19:39
Bonjour,
Pour en dire plus il faudrait que je sache ou est ajouté cette instruction ...?
Note la déclaration : Dim Resultat As Integer n'est pas correct car la variable Resultat est probablement de type Variant (en tout cas pas INTEGER

0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
3 févr. 2022 à 11:45
Bonjour,

Next i ' suivante
Sheets("Modèle").Select ' sélection de la feuille Modèle
Application.ScreenUpdating = True
Resultat = CreateObject("WScript.Shell").Popup("La création des feuilles par jour ouvré est terminée !" & Chr(10) & Chr(10) & "Merci pour votre patience !" & Chr(10) & Chr(10) & "Cette fenêtre se fermera automatiquement dans 2 secondes...", 2, "Information de Fin de traitement")

End Sub


Au niveau des messages de fin de traitement...

Cdlt
0