insertion automatique de date

  • Initiateur de la discussion murdoc
  • Date de début
M

murdoc

Guest
bonjour @ tous et toutes

mon problème aujourd'hui n'est pas tres compliqué mais je trouve pô la réponse.

je doit créer un planning. pour commencer j'ai déjà trouvé sur le forum la façon de définir les feriés suivant les différentes années (merci Monique).

ce que je voudrais faire maintenant c'est intégrer les dates dans mon planning automatiquement après avoir sélectionné l'année.

pas compliqué me direz-vous sauf que je doit commencer mon planning un lundi (par exemple pour 2005 sa donnerais Lundi 03/01/05; pour 2006 Lundi 02/01/06; Etc...)

j'ai éssayé le format date mais je suppose qu'un aménagement de la fonction doit-être fait.

comme je c pô si c très claire j'ai mis une pièce jointe.

si quelqu'un à une réponse merci d'avance moi je continue à chercher

@+ murdoc
 
C

charli

Guest
bonjour

tu n'as pas joins de fichier mais adapte mon exemple si tu veux

@+
charli [file name=joursemdate.zip size=2113]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/joursemdate.zip[/file]
 

Pièces jointes

  • joursemdate.zip
    2.1 KB · Affichages: 22

Robert

XLDnaute Barbatruc
Repose en paix
Re:insertion automatique de date RB

Salut Murdoc, Charli, salut le forum,

En formules je ne sais pas faire alors une macro qui te demande l'année puis place les dates à partir de A1 du premier lundi de l'année au dernier dimanche (éventuellement de l'année suivante). J'ai commenté le code pour que tu puisses l'adapter à tes besoins.

Option Explicit

Sub Macro1()
Dim x As Byte, y As Byte 'déclare les variables x et y
Dim j As Byte 'déclare la variable j (Jour)
Dim datd As Date 'décalre la variable datd (DATe Début)
Dim datf As Date 'déclare la variable datf (DATe Fin)
Dim js As Date 'déclare la variable js (JourS)
Dim an As String 'déclare la variable an (ANnée)
Dim a As String 'céclare la variable a
a = InputBox('Quelle année? ') 'définit la variable a
For x = 1 To 7 'boucle sur 7 valeurs
datd = DateValue(x & '/1/' & a) 'définit la variable datd du premier de l'an de l'année renseignée
j = Weekday(datd) 'définit le variable j (jour de la semaine la date de début)
If j = 2 Then Exit For 'condition si le jour est un lundi (2) sort de la boucle
Next x 'prochaine valeur de la boucle (la date de début 'datd' est définie)
datf = DateValue('31/12/' & a) 'définit la variable datf
If Weekday(datf) <> 1 Then 'condition 1 : si le 31 décembre n'est pas un dimanche
For y = 1 To 7 'boucle sur 7 valeurs
If Weekday(datf + y) = 1 Then 'condition 2 : si la date + 1 jour est un dimanche, sort de la boucle
datf = datf + y 'redéfinit la variable datf
Exit For 'sort de la boucle
End If 'fin condition 2
Next y 'prochaine valeur de la boucle
End If 'fin de la condition 1
'boucle sur la valeur de la date du début à la valeur de la date de fin
For js = CLng(datd) To CLng(datf)
'place les date (à partir de de la cellule A1)
Cells(js - (CLng(datd) - 1), 1) = DateValue(js)
Next js 'prochaine date
End Sub
 
M

murdoc

Guest
Re:insertion automatique de date RB

salut a vous

exact pour le fichier joint je le met maintenant mais je vais jetez un oeil a vos propositions

merci

@++ murdoc [file name=Planning 1_20050324113807.zip size=20602]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Planning 1_20050324113807.zip[/file]
 

Pièces jointes

  • Planning 1_20050324113807.zip
    20.1 KB · Affichages: 26

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 984
Membres
103 998
dernier inscrit
Gotteland