Trouver la bonne date

  • Initiateur de la discussion Initiateur de la discussion Daniel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Daniel

Guest
Salut oh grands maîtres de l'informatique
Voici un extrait de code qui me permet d'avoir un jour de semaine à l'exception du samedi et du dimanche, seulement si vous êtes en train de lire cela, c'est que ça ne va pas du tout pour moi :
Voici le code :
Sub data()

Dim nom As Date
dim x as string
Dim Compteur As Integer, Compteur2 As Integer

nom = DateValue(Now() + 1)
x = datevalue(nom), "dd_mmm")
For Compteur = 0 To 365
If Weekday(DateValue(nom) + Compteur) = 1 Then
Compteur2 = Compteur2 - 2
If Weekday(DateValue(nom) + Compteur) = 7 Then
Compteur2 = Compteur2 - 1
If Weekday(DateValue(nom) + Compteur) = 3 Then
Compteur2 = Compteur2 - 3
End If
End If
End If
MsgBox nom
Next
End Sub
Voici les conditions :
si la valeur du jour est le dimanche(1), alors, je voudrais qu'il me retire 2 jours pour être au vendredi
Si c'est le samedi, il me retire 1 jour pour être au vendredi
Enfin, si c'est le lundi, alors 3 jours de moins pour être au vendredi
A la fin du code, le msgbox me permet de voir ce qui s'affiche avant une expoitation dans un fichier de donnée, par conséquent, ça n'a pas de valeurs.
Je vous remercie
 
Bonjour Daniel, le forum

c'est normal que cela ne marche pas, ton code ne fait qu'incrémenter négativement compteur2. Ton msgbox, lui, t'affiche la valeur de nom définie au début puisqu'elle n'est pas modifiée.
cela sent le code récupéré et mal exploité (je crois d'ailleurs en reconnaitre une partie, si je ne m'abuse)

le but final, c'est quoi ?
que désire tu récupérer et à quelle fin?
une chaine texte, une valeur, le nombre de LAV?

A+
 
Bonjour yeahou,

Le but est tout simplement de nommer des feuilles d'un fichier excel qui comportera tous les jours d'un mois au format ("dd_mmm") sans les samedis ni les dimanches mais en respectant ceci :
Nom de l'onglet doit être : jour-1
Pour les mois suivants, un autre fichier sera crée.
Voilà, le pourquoi du comment
Je te remercie par avance pour tes conseils et la version que tu pourras me donner.
A +
 
Re Bonjour

alors ce code devrait t'aller, comme tu as déclaré nom en date, tu n'as pas besoin de datevalue

A+

Sub data()

Dim nom As Date
Dim x As String
Dim Compteur As Integer

nom = Now() + 1
For Compteur = 0 To 365
Select Case Weekday(nom + Compteur)
Case 1
Case 2
x = Format(nom + (Compteur - 3), "dd_mmm")
MsgBox x
Case Is < 7
x = Format(nom + (Compteur - 1), "dd_mmm")
MsgBox x
Case Else
End Select
Next Compteur
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
243
Réponses
2
Affichages
153
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Retour