Bonjour à tous,
Je bloque sur un sujet, je cherche à calculer dans mon entreprise, et selon une extraction des congés, à faire ressortir ceux qui ont prit 10 jours consécutifs.
Dans mon extraction je vais avoir le matricule du personnel, nom, prénom, nature du congé, excetera puis la date de début de congé et la date de fin.
Pour un même personnel je vais donc avoir plusieurs lignes qui se suivent avec des dates différentes de congés.
Ce que je souhaite c’est voir ceux qui ont pris 10 jours consécutifs (quelque soit le congé posé).
Il faut aussi faire attention aux jours fériés pour 2024.
Exemple :
Si un personnel prend deux congés du :
RTT du 13/05/24 au 17/05/24
et
CP du 21/05/24 au 29/05/24
il aura pris 12 jours consécutifs
Je joins un extrait de tableau…
L’attendu est dans la colonne « CONSÉCUTIF » que j’ai calculé manuellement
Bonsoir
Merci pour la réponse…
C’est vrai que mon tableau n’est pas clair sur l’attendu.
En fait ce que je souhaite c’est que mon tableau voit quand les congés pris (d’un même personnel) se suivent ou pas et calcule la somme des congés qui se suivent…
Pour mon tableau :
Entre le 13/05/ et le 29/05 il y a 12 jours de congé consécutif (5+7).
Entre le 08/07/ et le 12/07 il y a 5 jours de congé consécutif (3+2).
Entre le 13/05 et 31/5 il y a 14 jours de congé consécutif (9+5).
Ainsi de suite…
Je sais pas si c’est plus clair
La colonne G dans mon tableau exemple n’est pas indispensable.
Je ne sais pas le faire avec des formules pour le moment (vous avez excel365?), donc avec VBA (fonction personnalisée). Et, j’utilise des tableaux structurés Classeur_fabien.xlsm (22,2 Ko)
Merci beaucoup Cow18
Je suis parti pour le week-end je regarderai dimanche.
Chez moi j’ai office365 au boulot c’est 2017 je crois.
Je reviens vers toi dimanche pour te dire…
Bon week-end
Fabien
sans VBA, la colonne I (et la colonne H pour calculer la ligne du congé précédent)
Vous pouvez supprimer les colonnes J:L maintenant et changez le nom du fichier vers xlsx. Classeur_fabien.xlsm (23,9 Ko)
Bonsoir Cow18
Je rentre de week-end et te remercie encore pour ton investissement sur ma problématique.
Du coup, et si j’ai bien compris(?), ton deuxième fichier fais suite à mon propos qui rapporte qu’au boulot je ne dispose que d’Office 2019 et donc qui ne gère pas le VBA, c’est correct ???
Non, le VBA est supporté par toutes les versions d’office contrairement à certaine fonction récente qui elles ne sont pas rétros compatible.
Par contre, dans la plupart des entreprises, office est paramétré pour ne pas accepter les codes VBA externe
Merci @ vous deux pour ce complément d’information sur le VBA.
J’ai quelques soucis encore de compréhension
Désolé pour mon piètre niveau
Le VBA n’a donc rien à voir avec les macros ?!?
@ Cow18
Dans tes deux fichiers, il y a bien une macro qui est utilisée ???
Dans mon fichier de travail il y plus de 35000 lignes et Excel se bloque à chaque fois, j’utilise Office 365 et je suis sur Mac ( Mac studio M1 Max - 32Go de ram).
Aussi je ne peux pas changer le nom du fichier vers xlsx.
Quand je change l’extension il ne s’ouvre plus :
Hello
Les macros sont du VBA
VBA = Visual Basique (il me semble que le A correspond a Application)
Macro = Visual Basique
Et si tu changes l’extension de xlsm en xslx, il est normal que ca ne fonctionne plus, puisque seul l’extension xlsm supporte le VBA (dans le langage courant appelée macros)
les formules dans la colonne H, il faut modifier 3 fois ce 1000 en 100000, je pensais que la max nombre de lignes était 1.000
=MOD(100000*SIERREUR(AGREGAT(14;6;(TRONQUE([DATE FIN CONGE])+LIGNE([DATE FIN CONGE])/100000)/(([MATRICULE]=[@MATRICULE])*([DATE FIN CONGE]<[@[DATE DEBUT CONGE]]));1);0);100000)
Oui merci Cow18,
Nous avons en effet un grand nombre de collaborateurs x un grand nombre de périodes de congé chacun…
On arrive vite à un très grand nombre de lignes
voici le fichier xlsx.
Je ne l’ai pas encore essayé avec 35.000 lignes
Si vous dépassez 99.999 lignes, alors vous devez remplacer ces 3 fois 100000 par 1000000
Le fichier est-il lourd, lent à récalculer ou ça va ? Sinon, par exemple, si le congé précédent se trouve max 100 ou 1000 lignes avant votre ligne, cela accèlera le fichier, maintenant la formule vérifie toutes les 35.000 lignes. Classeur_fabien.xlsm (23,9 Ko)
Hélas non.
Je m’étais envoyé ton fichier en mail… J’ai eu des alertes de partout et les macros ont été supprimées
J’ai quand même les formules qui sont restées