Si j’ai bien compris, tu fais :
x = fin-deb
for i = 1 toSplit(listedurėes,"/")(x) pour trouver les week-ends ?
Attention je n’ai construit qu’une variable listedurėes avec l’ensemble des durées obtenu dans la boucle construit avec la variable liste1 et ses données jpr1 à jpr… par la donnée jpr :
jpr= (Day(tb4.DataBodyRange(i + k, 4).Value)) - Day(tb4.DataBodyRange(i + k - 1, 5).Value) - 1
Utilisé à chaque tour de boucle
En aucun cas elle n’est destiné à déterminer les week-end
Juste à lister les durées obtenu avec jpr ni plus ni moins en lieu et place des variables que tu souhaitais mettre en place pour le même objectif
Comment comptais tu faire avec ces variables affublées des durées pour déterminer les week-end ?
Il suffit d’opérer à l’identique avec ma solution d’une seule variable qui porte toutes les durées
voir la macro « test » comme exemple pour « FitRoi » et juillet '25.
On crée plusieurs matrices pour les nombres des jours ouvrables et les nombres de jours « weekend » entre ces périodes . Elles s’adaptent aux nombre de périodes en juillet '25.
forum (6).xlsm (38,1 Ko)
.
Ok j’ai fait marché ta macro, mais elle prend que la dernière ligne, ptet.
Et toujours trés peu d’explication dans ton code.
Voilà ma macro pour mettre les jours ouvrables sur les absences.
Sub jrsOuvr()
Dim ws3 As Worksheet, ws4 As Worksheet, tb4 As ListObject
Dim dur, i%, j%, k%, we%, fer%, jrD%, jrF%
'jours ouvrables salariés
Set ws4 = Sheets("Absences")
Set tb4 = ws4.ListObjects("Absence")
Set ws3 = Sheets("Divers")
'calcul nbre jours ouvrables des absences du salariés
we = 0: fer = 0
'""""""""""
For i = 1 To tb4.ListRows.Count
jrF = Day(tb4.DataBodyRange(i, 4).Value) 'jour fin ligne
jrD = Day(tb4.DataBodyRange(i, 5).Value) 'jour début ligne d'aprés
dur = jrD - jrF + 1 '18-10
'recherche jrs we
we = 0
For j = 0 To dur - 1
If Weekday(CDate(tb4.DataBodyRange(i, 4).Value) + j) = 7 Or _
Weekday(CDate(tb4.DataBodyRange(i, 4).Value) + j) = 1 Then
we = we + 1
End If
Next j
'jours feries ne tombant pas le we
fer = 0
For j = 0 To dur - 1
For k = 2 To 13
'si jr ferié et en semaine
If CDate(tb4.DataBodyRange(i, 4).Value) + j = CDate(ws3.Range("I" & k).Value) _
And Weekday(ws3.Range("I" & k).Value) < 6 And Weekday(ws3.Range("I" & k).Value) > 1 Then
fer = fer + 1
End If
Next k
Next j
If i = 4 Then MsgBox dur & " " & fer & " " & we ': Exit Sub
tb4.DataBodyRange(i, 8).Value = dur - we - fer 'colonne jours ouvrables presence
Next i
End Sub
en explication, on est comparable !!! Maintenant, je pense savoir ce que vous voulez faire.
En plus, il y a des formules pour calculer cela sans VBA, voir ligne 12, autrement, c’est réinventer l’eau chaude.
Voir aussi la macro « boucle » pour la traduction en VBA
forum (6).xlsm (36,5 Ko)
C’est pas bien de mentir.
Hello
Personnellement, je trouve bizarre ta façon de faire, tu te proclames auto-entrepreneur, et que tu proposes en téléchargement, (donc payant, je peux comprendre en tant qu’auto-entrepreneur) des fichiers Excel qui serait en partie créé et/ou finalisé par des bénévoles, en tant qu’auto-entrepreneur pour ce genre de fichier, tu devrais pouvoir les créer et gérer en professionnel maitrisant parfaitement Excel, (ce qui n’est nullement mon cas …)
l’app « permaculture » me semble intéressant.
Après l’enlèvement du mot de passe de VBA, je lis le module9 et je le connais « très bien », curieus, n’est-ce pas ?
Et moi, je suis bénévole !!!
PS. Je n’ai pas lu, ni accepté les termes du contrat, parce que j’ai utilisé le « backdoor »
Pro pas pro blablabla…Tout le monde veut du gratuit sur internet, mais moi j’ai donné en bénévolat, donc les gens ils va falloir passer à la caisse. Je bosse mais je sais pas tout.
T’as pas à enlever le mot de passe, Bsalv !!! C’est interdit Et moi je me cache pas.Et bénévole retraité, c’est mieux payé qu’auto-entrepreneur au RSA.
trop tard et au fait, qu’est-ce que tu vas faire…? Petit voleur. ![]()
A minima, demander à l’auteur des codes l’autorisation de les utiliser à des fins commerciales me semble judicieux (…) la propriété intellectuelle s’applique aussi au création de code dans Excel
Bonjour,
On va mettre les choses au point.
Moi je ne suis pas un voleur, je code tous les jours dans l’espoir d’en avoir des revenus, mais çà c’est un rêve vu que je n’obtiens pas un euro de cette activité contrairement à ce que vous croyez.
En général je ne copie pas le code qu’on me donne sauf lorsque je le comprends pas, ce qui est le cas avec Bsalv (Cow18) qui ne donne pas d’explication dans ses codes. Alors si c’est le truc pour reconnaitre ton code, je vais enlever le fichier permaculture de mes fichiers en ligne, çà changera pas grand chose.
Mais si tous mes codes sont crackés avant la fin de la période d’essai, je comprends pourquoi je n’ai aucun revenu, et je me demande si çà vaut le coup de continuer à bosser pour rien en Vba.
Cdt
vous avez posé votre question ici et sur Excecel Pratique, et dans les 2 cas, on ne l’a pas compris,
Citation du modérateur h2so4 « j’ai du mal à comprendre la logique de ce que tu essaies de faire. »
Bon, après tout, ce que vous voulez faire c’est jouer avec des tableaux, voir Cours VBA : utilisations des tableaux
En tenant compte de votre propre description de niveau, niveau plutôt professionel, les tableaux/matrices appartiennent plutôt à la base élémentaire et on les utilise pour gagner du temps d’exécution. Donc ce n’est pas à moi d’expliquer tout cela … .
La sécurité d’Excel et VBA est d’un niveau faible. Votre fichier « Permaculture », je l’ai ouvert en 2 minutes, parce que j’étais agité, mais normallement, on ne fais pas cela et on ne donne pas des astuces pour le faire à des autres.
Pour moi, si vous enlevez votre signature en dessus le module9 de « Permaculture », cela suffit.
. …
Mais, surtout, dans la question précédente, quand on peut utiliser une fonction d’excel pour calculer vos jours, au lieu d’un boucle stupide, il faut le faire, lisez ceci Fonction NB.JOURS.OUVRES.INTL - Support Microsoft
votre fichier avec les macros « jours_aleatoir » et « calculer » pour vous montrer la calculation normalle et avec des tableaux/matrices.
Mais avant, il faut comprendre ces tableaux (voir lien Excel Pratique)
forum (6).xlsm (48,8 Ko)
Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.

