VBA_recopie de données en fonction de dates

Fermé
alembik1213 Messages postés 31 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 septembre 2014 - 6 sept. 2014 à 09:05
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 15 sept. 2014 à 15:30
re-Bonjour à tous,

Je fais appel à vous, de nouveau, pour un ultime problème et j'espère après ça, ne plus devoir vous déranger.

Alors, après de multiples tentatives de résolution, parfois alternatives donc plus simples, je ne parviens toujours pas à résoudre mon problème. Alors je vais vous soumettre entièrement mon tableau ainsi que mon problème et je suis certaine que vous trouverez un début de solution étant donné vos compétences =)

Voilà, ce tableau récapitule les arrêts maladie (pour une année civile entière). Sur le premier onglet "accueil", j'y indique le nom/prénom de la salarié absente, ses dates d'arrêt, le motif, salaire des 3 derniers mois, etc.

"ccm81" sur le forum (que je r-remercie) m'a trouvé une VBA permettant de reporter ces données, sur l'onglet 3 "Recap". Jusque là, pas de problème tout fonctionne !

Là où je bloque réellement, c'est que je dois également gérer la complémentaire santé. Pour cela, il faut prendre en compte plusieurs informations :
- J'envoie trimestriellement ce tableau à notre organisme de complémentaire/santé.
- Si un arrêt concerne plusieurs trimestre, je souhaiterai que la macro plafonne la date de fin de période à la date de fin du trimestre en cours. Par exemple un arret du 01/01/2014 au 04/04/014 concerne à la fois le Trim 1 et le Trim 2. Ainsi, dans le permier onglet, on devra indiquer : Début période =01/01/2014 et Fin période (plafonnée) =31/03/2014 puis indiquer sur le second onglet : début période =01/04/2014 et Fin période (non plafonnée) =04/04/2014.

Alors apres, je ne sais pas si tout cel est possible ou bien juste utopique.

Je vous remercie vraiment de l'aide que vous pourrez m'apporter et du temps précieux que vous y consacrerez. J'y ai aussi passé du temps !

Bon courage et à bientot !

Ha, si tout celà n'est pas assez clair, n'hésitez pas à me demander plus d'explications !

Voila le fichier : https://www.cjoint.com/?3IgjgdGEwrR


19 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
6 sept. 2014 à 15:44
Re bonjour

Quelques questions (et suggestions)
https://www.cjoint.com/?3IgpUcn6EBW

Cdlmnt
0
alembik1213 Messages postés 31 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 septembre 2014
7 sept. 2014 à 08:02
Bonjour et bon dimanche ccm81,

Voici les réponses à la demande de renseignements complementaires :

https://www.cjoint.com/?3IhiefwXG2m

cdlt
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
8 sept. 2014 à 14:21
Un début de réponse
https://www.cjoint.com/?3Iioxj8yOqN

Cdlmnt
0
alembik1213 Messages postés 31 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 septembre 2014
8 sept. 2014 à 18:38
Comment ça un début de réponse ? Tu es modeste car TOUT est résolu !!! c'est super ça !!

Alors par contre je ne vois pas la super MACRO (en est-ce une d'ailleurs?), alors comment puis-je la voir ?

Afin que je comprenne quand meme un peu ! ^^

un GRAND GRAND grand Merci !! superbe travail ! vraiment ! =D

Julie.
0

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

Posez votre question
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
8 sept. 2014 à 18:57
J'ai du faire une fausse manip, le Module2 contenant les macros s'est retrouvé avec 'i' comme nom!

Au passage, dans ton fichier d'origine, les colonnes de AG2R_T4 étaient un peu mélangées (ça m'a fichu un coup au coeur quand j'ai testé).
Au cas où : pour dupliquer une feuille Clic-droit sur l'onglet/Déplacer ou copier/Créer une copie et choisir l'emplacement (c'est plus sûr)

Le même avec quelques explications supplémentaires dans le code
https://www.cjoint.com/?3IisWRBzMQ7
Les macros sont dans le Module1 (procédures Copie et MajAG2R)

J'ai peut être quelques idées pour faire moins bourrin, mais pas sûr que ça aille mieux ; encore que, pour gérer un changement d'année en cour de période ....

Bonne soirée

Cdlmnt
0
alembik1213 Messages postés 31 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 septembre 2014
8 sept. 2014 à 20:15
D'accord super j'y regarde...

Par contre, j'ai relevé 2 petites anomalies (bénins) :

- PARFOIS (et je ne sais pas déceler quand exactement le problème survient) quand je saisi les dates d'arrêt avec le calendrier (et non manuellement sur mon clavier, il me met un message d'erreur : "Dates incorrectes. Veuillez corriger."

- Sur la page d'accueil, au niveau de l'ancienneté, elle s'apprécie en réalité en nombre de mois (et non en nombre d'années). Car il faut 6 mois pour faire la demande au niveau de la complémentaire. Alors est-ce qu'on peut changer "l'unité de mesure" ?

Ce ne sont que deux petits problèmes "luxueux" dirions nous... ^^

Et génial pour le "clic clic" sur le nom pour faire la demande au niveau de la complémentaire ! ça marche du tonner !!!! c'est super top ça.

=D [let's smile !]
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
9 sept. 2014 à 10:45
OK pour l'ancienneté en mois
Pour l'utilisation du calendrier, il te faudrait voir quand le pb survient, ma boule de cristal est en panne en ce moment ;-)
https://www.cjoint.com/?3IjkUpML8Ky

Cdlmnt
0
alembik1213 Messages postés 31 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 septembre 2014
9 sept. 2014 à 11:47
Bonjour,

Merci d'avoir réglé ces deux petits soucis. Pour le calendrier, soit j'etais super fatiguée et je n'ai pas fait attention que j'ai mis une date de prolongation inférieure à celel initiale, ou bien effectivement petit caprice VBA. En tout cas, le probleme ne se pose plus aujourd'hui (oui j'ai dormi!)

Par contre je viens de m'apercevoir que l'on pouvait encore automatiser certaines colonnes sur le tableau "AG2R", voir fichier.

https://www.cjoint.com/?3IjlX1m9izd


Est-ce bien possible ?

Merciiiiiii
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 9/09/2014 à 16:20
ça devrait pouvoir se faire .... un essai à tester
https://www.cjoint.com/?3IjpEKAd8P4

RQ1. Pas encore dit, mais avant de faire quoi que ce soit il est impératif de formater toutes les colonnes dates au format personnalisé jj/mm/aaaa (du moins chez mon vieil excel 2003) donc à vérifier/faire
RQ2. j'ai fait un RAZ après la ligne 1000 dans toutes les feuilles (voir procedure nettoyer dans Module2) histoire d'alléger un peu le fichier
RQ3. Et si tu veux que ça fasse le café, n'hésites pas, tu dis!

Cdlmnt
0
alembik1213 Messages postés 31 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 septembre 2014
9 sept. 2014 à 21:10
ha nooooooon zut j'ai un message d'erreur : Erreur d'execution "13" - incomptabilité de type.

https://www.cjoint.com/?3IjvmHZ2Hgn
0
alembik1213 Messages postés 31 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 septembre 2014
9 sept. 2014 à 20:46
Bonsoir,

Oui ça fonctionne et j'ai meme rajouté un "renvoie" vers le salaire des 12 derniers mois.

Par contre je me demandais une chose, c'est.. comment puis-je gerer les prolongations . Admettons que j'ai déjà saisi l'arrêt initial (du 08sept2014 au 14sept 2014) et que ensuite ça se prolonge jusqu'au 21sept.

Existe il un moyen simple de modifier la date à la fois dans le recap et à la fois dans le tableau AG2R_T(...) ?

Haaaaa je sais que j'abuse de votre gentillesse, mais... j'ai tellement soif d'apprendre ! merci
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 10/09/2014 à 16:12
1. ha nooooooon zut j'ai un message d'erreur : Erreur d'exécution "13" - incomparabilité de type.
Pas de panique, quand tu vois ce message d'erreur, tu vas dans le débogueur, l'éditeur place le curseur sur la ligne de code où se produit l'erreur. Et là, tu regardes les valeurs qu'on pris les variables. Dans ton cas, c'est la colonne AA (journalier brut) qui n'a pas été renseignée.
On rentre là dans la partie la plus pénible/laborieuse/ingrate/... de la programmation : la gestion des erreurs!
Ici, que doit on faire si cette colonne n'a pas été renseignée
Et il va y en avoir d'autres, beaucoup d'autres .....................

2. Par contre je me demandais une chose, c'est.. comment puis-je gérer les prolongations . Admettons que j'ai déjà saisi l'arrêt initial (du 08sept2014 au 14sept 2014) et que ensuite ça se prolonge jusqu'au 21sept.
Existe il un moyen simple de modifier la date à la fois dans le recap et à la fois dans le tableau AG2R_T(...) ?

*** Peut être une solution assez simple à mettre en oeuvre.
Ajouter une colonne (A par exemple) à la feuille recap et y mettre un numéro d'ordre (001 pour le premier arrêt de l'année, 002, 003 ...) que l'on reporterait dans les feuilles AG2R_Txx ( colonne A) ce qui permettrait avec un clic-clic en feuille recap de refaire la ventilation dans les AG2R (si le n° existe dans une des feuilles AG2R on repasse par dessus, sinon on crée)
Par contre, il faudrait modifier "à la main" dans la feuille Recap (colonne F je pense) la date de fin d'arrêt
Concrètement, il suffira alors de modifier les constantes colonnes au début du code et d'ajouter un test quelque part
*** Si tu as d'autres idées ...

3. J'ai tenté une solution moins bourrin pour la procédure MAJAG2R, qui devrait être plus simple à maintenir dans le futur; Il te faudrait la tester, en renseignant toutes les cellules concernées dans la feuille Recap bien sûr !!!!!
https://www.cjoint.com/?3IkpeQqESX4


Cdlmnt
0
alembik1213 Messages postés 31 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 septembre 2014
11 sept. 2014 à 13:12
Bonjour ccm, de new problèmes... =/

01) CONCERNANT le message d'erreur : Erreur d'exécution "13" - incomparabilité de type. je n'ai pas su résoudre. Mais là visiblement ça ne le fait plus. Tant mieux !

02) CONCERNANT la solution prolongation : peux tu le faire s'il te p lait ? j'ai deja commencé à insérer une colonne sur feuille recap. à la fin du tableau et non en colonne A sinon tout est décalé pour les macros.

03) CONCERNANT la procedure MAJAG2R, ok pas de probleme, ça marche c'est le principale !

Voir fichier pour les autres choses, merciiiiiiiii,
https://www.cjoint.com/?3IlnoMffKVB

Julie
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
11 sept. 2014 à 17:47
0
réponses aux questions ! =)

http://cjoint.com/?3IlvWfS7Xeg

Excellente soirée !
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 12/09/2014 à 14:01
Les réponses (peut être) au réponses
https://www.cjoint.com/?3ImnZX1DFAY
A tester bien sûr!

Cdlmnt
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
13 sept. 2014 à 14:23
Un erreur dans la procedure Copie (Module 1) à rectifier

  ' formule de calcul de NbJ
.Range(coNbJ_FT & li_FT).FormulaLocal = "=" & coFin_FT & li_FT & "-" & coDeb_FT & li_FT & "+1"
0
Bonjour,

Merci pour l'aide apportée sur ce tableau. Là je pense qu'il est pratiquement totalement terminé ! ouf !

Encore qques petits soucis (nb arrets actifs) et la modification de la MACRO (cf ton message précédent).

Après ça, je pense que ce sera bon.

VOila fichier : http://cjoint.com/?3IoizVRSRuR
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 15/09/2014 à 11:05
Version finale !!!! Je te trouve un peu optimiste. Il me semble que l'on n'a pas traité entièrement les cas où les cellules ne sont pas renseignées
Voilà toujours pour tes dernières questions
https://www.cjoint.com/?3Ipk4MBiDv8
N'oublies pas de tester consciencieusement

En ce qui concerne la suite éventuelle, si tu as des modifications à apporter, et pour éviter les pb de confidentialité, tu peux le faire via la messagerie personnelle
De mon côté, je vais réfléchir (peut être) à des améliorations du code, si je trouve quelque chose, je te contacte via la MP.

Bonne journée
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
15 sept. 2014 à 15:30
Une version un peu plus propre sur le traitement des dates
De plus une erreur corrigée au sous-cas t=3 du cas t_fin = 4
Comme je disais plus haut, il faut tester!
https://www.cjoint.com/?3IppDY5OIC7

Bon courage
0