signification de lignes de programmation

  • Initiateur de la discussion isa88000
  • Date de début
I

isa88000

Guest
bonjour à tout le monde,

je cherche à comprendre ces quelques lignes de programme.
Pouvez vous m'aider svp?

Dim D1, D2 As Date
D1 = CDate('1/' & ComboBox2.Value & '/' & ComboBox1.Value)
D2 = DateAdd('m', 1, D1) - 1
az = WeekDay(D1, 2)
For i = 0 To 36
U_chx_dte(i).Visible = False
U_chx_dte(i) = False
U_chx_dte(i).Tag = ''
Next i
For jcal = D1 To D2
U_chx_dte(az + Day(jcal) - 2).Visible = True
U_chx_dte(az + Day(jcal) - 2).Caption = Format(jcal, 'd')
U_chx_dte(az + Day(jcal) - 2).Tag = jcal
Next jcal

merci d'avance

A bientôt
 

sousou

XLDnaute Barbatruc
Bonjour isa

D1 sera une date (cdate) composé de 1/ et de deux données situé dans des combox d'un userform

le résultat sera 1/2/2005 si dans combo1=2 et combo2=5
d2 sera = a cette date plus un mois - i jour

Résulat 28/2/2005

az sera égal au numéro de jour dans la semaine du premier du mois

ici=2

Ensuite (for 1 a 36)
Je suppose qu'il y a 36 textbox qui seront tous rendu invisible
et non accessible

l'étape suivante rendant visible et accessible les textbox
Dans ce cas de 2 à 29,

J'espère qu'avec le contenu du userform cela t'aidera
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Isa, Sousou, le forum,

'déclare la variable D1 comme 'Variant' et la variable D2 comme Date
'je pense qu'il y a une erreur est que le code devrait être 'Dim D1 As Date, D2 As Date'
Dim D1, D2 As Date

'définit la variable D1. Cdate convertit le résultat en type de donnée 'Date'
'le résultat = '1/+le texte de la ComboBox2/texte de la ComboBox1'
'si ComboBox2=4 ou 'Avril' et ComboBox1=2005 alors D1=01/04/20005
D1 = CDate('1/' & ComboBox2.Value & '/' & ComboBox1.Value)

'définit la variable D2
'c'est la date D1 + un mois
D2 = DateAdd('m', 1, D1) - 1

'définit la variable az (non déclarée)
'renvoie un numéro correspondant au jour de la semaine de la date D1
'2 indique que l'on considère 'Lundi' comme premier jour de la semaine
az = Weekday(D1, 2)

'boucle sur 37 items de 0 à 36
For i = 0 To 36
'je pense que U_chx_dte correspond à des Checkbox sur la feuille ou dans un UserForm
U_chx_dte(i).Visible = False 'masque chaque item
U_chx_dte(i) = False 'si ce sont des checkbox cela les décoche
U_chx_dte(i).Tag = '' 'attribut une chaîne vide à la propriété 'Tag' de cet item
Next i 'prochain item de la boucle

'boucle sur toutes les dates comprise entre D1 inclus et D2 inclus
For jcal = D1 To D2
'affiche l'item correspondant à la variable az + jour de la semaine de la date -2
U_chx_dte(az + Day(jcal) - 2).Visible = True
'modifie le texte de cet item
U_chx_dte(az + Day(jcal) - 2).Caption = Format(jcal, 'd')
'attribut la valeur du compteur de la boucle à la propriété 'Tag' de l'item
U_chx_dte(az + Day(jcal) - 2).Tag = jcal
Next jcal 'prochaine date de la boucle
 
I

isa88000

Guest
rebonjour à tous,

merci pour votre aide

si je vous mets en fichier joint mon programme pourriez vous me dire pourquoi lorsque je clique sur valider dans ma userform choix d'une date avec une date selectionnée il ne veut plus me l'afficher dans la case prévue sur ma userform organisation?

merci beaucoup


A bientôt
 

Discussions similaires

Réponses
5
Affichages
241

Statistiques des forums

Discussions
312 428
Messages
2 088 336
Membres
103 821
dernier inscrit
Lorient56