Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lister les jours d'un mois

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

apt

XLDnaute Impliqué
Bonjour à tous,

J'aimerais lister les jours du mois en cours.

Dans la colonne A les noms des jours, dans la colonne B les date sous forme "dd/mm/yyyy".

Mais voila, les formes de date en colonne B s'affichent sous format anglais du 01/02/2012 au 12/02/2012

Et sous format français du 13/02/2012 au 29/02/2012.

En plus j'ai deux lignes affichées sous format anglais aussi en superflu (01/03/2012 et 02/03/2012).

Voir l'exemple en PJ.

Merci.
 

Pièces jointes

Re : Lister les jours d'un mois

Bonjour
L'utilisation de format pour les dates n'a jamais été performant...
Je te propose

Private Sub CommandButton1_Click()
Dim vardate As Date
Dim i As Byte
Range("a1") = Format(Now(), "mmmm")
For i = 1 To 31
vardate = CDate(i & "/" & Month(Now()) & "/" & Year(Now()))
Range("A" & i + 2).Value = Format(vardate, "dddd")
Range("B" & i + 2).Value = vardate
If Month(vardate + 1) <> Month(Now()) Then Exit For
Next
End Sub
 
Re : Lister les jours d'un mois

Bonsoir Rachid, fanfan38

Rachid : Ca marche bien ta solution.

fanfan38 : Ca marche aussi ton code.

Mais pourquoi tous ces erreurs détecter dans mon fichier et pourquoi Day() retourne 31 au lieu de 29 pour le mois de février ?

Merci.
 
Re : Lister les jours d'un mois

Bonsoir à tous,

En B3, la date de début de mois :

VB:
Sub Incrementer_Les_Jours_Du_Mois()
Dim MaDate As Long
MaDate = Range("B3").Value
Nbrejours = Day(DateSerial(Year(MaDate), Month(MaDate) + 1, 0))
Range("B3").AutoFill Destination:=Range("B3").Resize(Nbrejours), Type:=xlFillDays
Range("B3").Resize(Nbrejours).NumberFormat = "dd/mm/yyyy"
Range("A3").Resize(Nbrejours).NumberFormat = "dddd"
For jour = 1 To Nbrejours
  Range("A" & jour + 2).Value = Range("B" & jour + 2).Value
Next jour
End Sub

Ou plus simplement, saisir une date en B3 puis exécuter :

VB:
Sub Incrementer_Les_Jours_Du_Mois()
Dim Nbrejours As Byte
'Premier jour du mois
Range("B3") = DateSerial(Year(Range("B3").Value), Month(Range("B3").Value), 1)
Nbrejours = Day(DateSerial(Year(Range("B3").Value), Month(Range("B3").Value) + 1, 0))
Range("A3").Value = Range("B3").Value
Range("A3").Resize(Nbrejours).NumberFormat = "dddd"
Range("B3").Resize(Nbrejours).NumberFormat = "dd/mm/yyyy"
Range("A3").AutoFill Destination:=Range("A3").Resize(Nbrejours), Type:=xlFillDays
Range("B3").AutoFill Destination:=Range("B3").Resize(Nbrejours), Type:=xlFillDays
End Sub

Klin89
 
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
6
Affichages
641
  • Question Question
Microsoft 365 format date
Réponses
3
Affichages
231
Réponses
8
Affichages
650
Réponses
5
Affichages
912
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…