XL 2010 Incrementer les cellules avec des dates sans formule

Meloman

XLDnaute Occasionnel
bonjour à tous je recherche une solution pour incrémenter mes cellules en colonne A chaque jour du mois sans utilisé de formule.
exemple
A4 Jeudi 1 septembre 2016
A12 Vendredi 2 septembre 2016
A20 Samedi 3 septembre 2016 ............


et le résultat respecter le format date complet exemple Jeudi 1 septembre 2016

et tous sa sans formule svp pouvez vous m'aider merci d'avance
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Bonjour.
Moi ça me semble pourtant bien avec les formules
Enfin bon, avec une macro, comme ça :
VB:
Sub Macro1()
Dim J As Long
For J = 1 To Day(DateSerial(Year(Date), Month(Date) + 1, 0))
  With ActiveSheet.Cells(8 * J - 4, "A")
     .Value = DateSerial(Year(Date), Month(Date), J)
     .NumberFormat = "[$-x-sysdate]dddd, mmmm dd, yyyy"
     End With: Next J
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonjour à tous


Voici une macro à mettre dans le code de la feuille
(Clic-droit sur l'onglet -> Visualiser le code)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&, j&, Mois, pJour, nbJour
If Target.Address = "$C$3" Then
Columns(1).ClearContents
pJour = DateValue("1/" & Range("C3"))
Mois = Month(pJour)
nbJour = Day(DateSerial(Year(pJour), Month(pJour) + 1, 0))
j = 1
For i = 4 To nbJour * 8 Step 8
Cells(i, 1) = CDate(j & "/" & Mois)
j = j + 1
Next
End If
End Sub
EDITION: Bonjour Dranreb, j'ai posté sans avoir rafraîchi au préalable.
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
bonjour à tous je recherche une solution pour incrémenter mes cellules en colonne A chaque jour du mois sans utilisé de formule.
exemple
A4 Jeudi 1 septembre 2016
A12 Vendredi 2 septembre 2016
A20 Samedi 3 septembre 2016 ............
et le résultat respecter le format date complet exemple Jeudi 1 septembre 2016
et tous sa sans formule svp pouvez vous m'aider merci d'avance
En quelque sorte une partheno-génése calendaire...
il suffit de consulter l'aide !!!!
Vous pouvez créer rapidement une liste de dates dans un ordre séquentiel en utilisant la poignée de recopie (poignée de recopie : petit carré noir situé dans le coin inférieur droit de la sélection. Lorsque vous pointez sur la poignée de recopie, le pointeur se transforme en croix noire.) ou la commande Recopier.

  1. Dans une feuille de calcul, sélectionnez la cellule dans laquelle vous souhaitez démarrer la liste de dates séquentielles et tapez le premier jour ou la date dans la liste.
    Conseil Par exemple, tapez lundi ou 15/6/08.

  2. Pour créer la liste, effectuez l’une des opérations suivantes :
    • Pour utiliser la poignée de recopie, procédez comme suit :
      1. Sélectionnez la cellule qui contient la première date et faites glisser la poignée de recopie sur les cellules adjacentes que vous souhaitez remplir avec la liste de dates séquentielles.
        Remarque La poignée de recopie est affichée par défaut, mais si elle n’est pas disponible, vous devez d’abord définir une option dans Excel pour l’activer. Pour plus d’informations sur la façon d’afficher la poignée de recopie, voir Afficher ou masquer la poignée de recopie.

      2. Pour afficher les jours ou les jours ouvrés uniquement dans votre liste, ou pour afficher des dates avec des intervalles mensuels ou annuels, après avoir fait glisser la poignée de recopie, cliquez sur Options de recopie incrémentée , puis cliquez sur Incrémenter les jours, Incrémenter les jours ouvrés, Incrémenter les mois ou Incrémenter les années.
    • Pour utiliser la commande Recopier, procédez comme suit :
      1. En commençant par la cellule qui contient la première date, sélectionnez la plage de cellules que vous souhaitez remplir avec la liste séquentielle de dates.
      2. Sous l’onglet Accueil, dans le groupe Modification, cliquez sur Recopier, puis sur Série.


      3. Dans la boîte de dialogue Série, sous Unité de temps, sélectionnez l’unité que vous souhaitez utiliser.
      4. Si vous souhaitez augmenter les incréments utilisés dans la séquence et spécifier la fin de la séquence, dans les zones Valeur du pas et Dernière valeur, tapez les valeurs que vous souhaitez utiliser.
Conseil Vous pouvez trier les dates comme n’importe quelle autre donnée. Par défaut, les dates sont triées en commençant par la date la plus récente.

calendrier de jours calendrier de jours ouvrés Configurer une table de date Créer une liste de dates Créer une liste de dates consécutives Créer une liste de dates séquentiels Créer une liste de jours de la semaine Créer une liste ordonnée de dates Créer une série de dates Insérer la date liste comme un calendrier Jours du mois La liste des jours de travail Les dates consécutives Les nombres séquentiels l'incrémentation de date Modifier une liste à jours de la semaine Numéros CONSECUTIVE remplir une liste des années remplir une liste des mois Utilisez recopie incrémentée pour passer une liste à jours de la semaine xl
 

Meloman

XLDnaute Occasionnel
bonjour dranreb modeste et staple1600

merci pour votre aide j'ai tester vos deux macro
mais celui de stable1600 je n'ai pas arrivée à faire fonctionner
celui de dranreb j'ai dût légérement modifier car il me donnais une date en anglais du coup j'ai changer le format mais un grand merci à vous
Code:
Sub Macro1()
Dim J As Long
For J = 1 To Day(DateSerial(Year(Date), Month(Date) + 1, 0))
  With ActiveSheet.Cells(8 * J - 4, "A")
     .Value = DateSerial(Year(Date), Month(Date), J)
     .NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
     End With: Next J
End Sub
bon dimanche
 

Meloman

XLDnaute Occasionnel
en revanche une petite demande à danreb je suis bete mais comment je change la date si je veux aout ou mai ou autre car il me donne que le mois en cour merci d'avance
 

Staple1600

XLDnaute Barbatruc
Re

Meloman
Il faut mettre mon code VBA dans le code de la feuille, pas dans un module standard.
Bonjour à tous
Voici une macro à mettre dans le code de la feuille
(Clic-droit sur l'onglet -> Visualiser le code)
meloman.jpg

Ainsi dès que tu changes la valeur du mois dans la cellule C3, le calendrier se met à jour.
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
bonjour dranreb modeste et staple1600
merci pour votre aide j'ai tester vos deux macro
Quand j'ai lu sans formule, j'ai compris sans code i.e. : "à la mimine!"
alors avec code :
saisir une date de début quelconque en A4
puis activer la macro ci-dessous (à placer dans un module standard)
VB:
Sub Macro1()
   Range("A4").Select
    Selection.NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
    Selection.Copy
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("A4:A35"), Type:=xlFillDays
' --- pour jours ouvrés seuls remplacer xlFillDays par xlFillWeekDays
' --- pour mois xlFillMonths, pour année xlFillYears
    Range("A4:A35").Select
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour Modeste Geedee

Ta macro ne préserve pas la structure du fichier exemple déposé au message#1
D'où les codes proposés par Dranreb et moi-même ;)

Pour le fun et pour attendre que ma pizza refroidisse, je propose une variante de ta macro
VB:
Sub MacroMois()
Dim X&
X = Day(DateSerial(Year(Range("A4")), Month(Range("A4")) + 1, 0))
With Range("A4").Resize(X)
    .DataSeries 2, 3, 1, 1
    .NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
End With
End Sub
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour Modeste Geedee

Ta macro ne préserve pas la structure du fichier exemple déposé au message#1
dans ce cas :
saisir une date de début quelconque en A4
puis activer la macro ci-dessous (à placer dans un module standard)
VB:
Sub Macro2()
  Range("A4").Select
  Selection.NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
  Range("A4:A11").Select
  Selection.AutoFill Destination:=Range("A4:A250"), Type:=xlFillDefault
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Oui mais tu zappes encore le choix du mois en C3 et la recopie dépasse le dernier jour du mois selon le mois choisi (exemple avec février 2016) ;)

Alors je propose ce petit ajout (pour ce qui concerne la fin de mois)
VB:
Sub Macro2()
Dim X&
X = Day(DateSerial(Year(Range("A4")), Month(Range("A4")) + 1, 0))
Range("A4").NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
Range("A4:A11").AutoFill Destination:=Range("A4").Resize(X * 8), Type:=xlFillDefault
End Sub
NB: Question subsidiaire
Pourquoi ni Dranreb, ni toi ne souhaitez passer par une procédure événementielle?
(rapport à liste de noms des mois en C3)
 
Dernière édition:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas