[VBA]Problème avec la date suivant

  • Initiateur de la discussion Initiateur de la discussion Ridame
  • 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 !

Ridame

XLDnaute Nouveau
Bonjour

Ceci est mon premier poste sur ce forum 🙂
Je débute avec VBA et en ce moment j'essaye d'automatiser un planning avec une date de début et date de fin(j'utilise calendar dans un userform pour avoir les dates)

mais voila j'ai un problème avec ma funtion "datesuivant" et la boucle "for" pour ajouter les jours dans mon fichier excel.

funtion JourSuivant:
Code:
Function JourSuivant(Unedate As Date) As Variant
    
    'Application.Volatile
    Dim DD As Variant
    
    DD = Unedate + 1
    JourSuivant = Format(DD, "dd/mm/YYYY")

End Function
et ma boucle for:

Code:
For compteur = 1 To DateDiff("d", datedeb, datefin)
                Datesuivant = JourSuivant(datedeb)
                'MsgBox Datesuivant
                ActiveCell.Offset(0, compteur) = Format(Datesuivant, "ddd")
                
 Next compteur

le problème c'est qu'il fait une fois le jour suivant, donc sur l'affichage je me retrouve toujours avec des mardi(enfin si datedeb=lundi)
En gros sur ma ligne j'aurai un lundi puis que des Mardi🙁

Bref je demande votre aide pour me dire ou est ce que je me suis trompé.

Cordialement
 
Dernière édition:
Re : [VBA]Problème avec la date suivant

Bonjour Ridame et bienvenu,
alors c'est normal dans ta boucle tu as mis ta fonction avec en référence ta date de début donc tu as toujours ta date de début +1 !!!
il faut mettre ta cellule en ref

a+
papou 🙂
 
Re : [VBA]Problème avec la date suivant

Bonjour
et ma boucle for:

Code:
For compteur = 1 To DateDiff("d", datedeb, datefin)
                Datesuivant = JourSuivant(datedeb)
                'MsgBox Datesuivant
                ActiveCell.Offset(0, compteur) = Format(Datesuivant, "ddd")
                
 Next compteur

Mon gros problème c'est que "Datesuivant = JourSuivant(datedeb)" est appellé qu'une seul fois.
Donc la date avance juste d'un jour, et basta.

Edite:

Salut Paritec

Merci, car ton raisonnement est correcte.
je vais vérifier

cordialement

ReEdite:


Re Paritec

je suis vraiment débile, j'avais même déclaré au debut de mon Sub Datesuivant = datedeb.
merci d'avoir vu cette grosse bêtise de ma part.

encore merci tu m'aides beaucoup 😉
 
Dernière édition:
- 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

Discussions similaires

Réponses
12
Affichages
1 K
Réponses
3
Affichages
951
Retour