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

calendrier

ouaar

XLDnaute Nouveau
bonjour a tous
j'aimerais savoir s'il etait possible d'avoir sur une colonne les jours d'un mois et sur une autre les chiffres ,et cela en metant le nom du mois dans une cellule.
je m'explique : je rentre par exemple mars en a1 ,et j'aurais dans la colonne b les jour de la semaine (samedi dimanche....etc) et dans la colonne c les numero(1,2,3,......)du mois .
merci pour votre aide
 

tbft

XLDnaute Accro
Re : calendrier

Bonjour

Peut être une des nombreuses solutions...

Dis moi...
 

Pièces jointes

  • calendrier.xlsx
    10.7 KB · Affichages: 75
  • calendrier.xlsx
    10.7 KB · Affichages: 68
  • calendrier.xlsx
    10.7 KB · Affichages: 76

Robert

XLDnaute Barbatruc
Repose en paix
Re : calendrier

Bonsoir le fil, bonsoir le forum,

Une aute proposition VBA avec la macro événementielle Change ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim d As Date 'déclare la variable d (date Début)
Dim a As Long 'déclare la variable a (Année)
Dim ms As Byte 'déclare la variable ms (Mois Suivant)
Dim x As Date 'déclare la variable x (incrément de date)
Dim df As Date 'déclare la variable df (Date Fin)
Dim y As Byte 'déclare la variable y (incrément de ligne)
 
If Target.Address <> "$A$1" Then Exit Sub 'si le changement a lieu ailleurs qu'en A1, sort de la procédure
 
a = CLng(ActiveSheet.Name) 'définit l'année a
d = Format("1/" & Target.Value & "/" & a, "dd/mm/yyyy") 'définit la date de début
ms = Month(d) + 1 'définit le mois suivant
If ms = 13 Then ms = 1: a = a + 1 'si le mois suivant est égale à 13, ms devient 1, a devient a+1
df = Format("1/" & ms & "/" & a, "dd/mm/yyyy") 'définit la date de fin
Range("A1").CurrentRegion.Offset(0, 1).Resize(, 2).ClearContents 'supprime les anciennes dates
y = 1 'définit la variable y
For x = d To df - 1 'boucle sur toutes les date du mois
    Cells(y, 2).Value = Format(x, "dddd") 'place le jour de la semaine
    Cells(y, 3).Value = Format(x, "d") 'place les jours du mois
    y = y + 1 'redéfinit la variable y
Next x 'prochaine date de la boucle
ActiveCell.Offset(0, 1).Select 'sélectionne B1
End Sub
Le fichier :
 

Pièces jointes

  • Ouaar_V01.xls
    36 KB · Affichages: 51

Discussions similaires

Réponses
46
Affichages
1 K
Réponses
9
Affichages
518
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…