Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2007, 22h16   #1
Invité de passage
 
Inscription : mai 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 1
Points : 1
Points : 1
Par défaut problème pour enlevé les jours fériés

j'ai un code qui permet de calculer les jours travaillés, mais a cela j'aimerai ne pas compter les jours fériés en sachant que les dates de jours fériés sont dans une autres feuilles dans les cellules deB1 à B20. Je ne sait pas comment faire quelqu'un peut-il m'aider?
je joins le code pour calculer les jours ouvrés.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
Function NbreJoursOuvrés(Date1, Date2)
    Dim tjour(7) As String
    Dim vNbjours As Currency
    Dim vNbjours2 As Currency
    Dim vNbjours3 As Currency
    Date1 = DateValue(UserForm1.TextBox1.Value)
    Date2 = DateValue(UserForm1.TextBox2.Value)
    tjour(1) = 0 'dimanche
    tjour(2) = 1 'lundi
    tjour(3) = 1 'mardi
    tjour(4) = 1 'mercredi
    tjour(5) = 1 'jeudi
    tjour(6) = 1 'vendredi
    tjour(7) = 0 'samedi
    For i = Date1 To Date2
        If UserForm1.CheckBox1.Value = True Then tjour(Weekday(Date1)) = 2
        If UserForm1.CheckBox2.Value = True Then tjour(Weekday(Date2)) = 2
        If tjour(Weekday(i)) = 1 Then vNbjours = vNbjours + 1
        If tjour(Weekday(i)) = 2 Then vNbjours2 = vNbjours2 + 0.5
        If Date1 = Date2 And UserForm1.OptionButton1.Value = True Then vNbjours = vNbjours / 2
        If Date1 = Date2 And UserForm1.OptionButton2.Value = True Then vNbjours = vNbjours / 2
    Next i
    NbreJoursOuvrés = vNbjours + vNbjours2
End Function
titi67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 23h58   #2
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Pourquoi ne pas utiliser la fonction NB.JOURS.OUVRES ???
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2007, 11h44   #3
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Pour la syntaxe de jours.ouvres dans VBA, tu peux jeter un oeil

Edit
Pour les jours ouvrés, regarde plutôt , le troisième exemple du premier post. Si tu as plusieurs jours fériés dans la période concernées, ils sont traités par l'intermédiaire d'un tableau.
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h23.


 
 
 
 
Partenaires

Hébergement Web