incrémenter 1 série sur plusieurs feuilles

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 !

shitoryu

XLDnaute Occasionnel
Bonjour,

Je souhaiterais pouvoir taper le chiffre d'une date dans la cellule A1 (17 par exemple) de la feuille 1 et qu'automatiquement les 5 autres feuilles de la semaine (du lundi au samedi) écrivent automatiquement 18, 19, 20, 21, 22, 23.
Il faudrait que cela fonctionne pour n'importe quel chiffre en page 1.

Merci infiniment si quelqu'un trouve la réponse,
Shitoryu
 
ah, super zut, je n'avais pas pensé à la bascule d'un mois à l'autre... et les mois pairs, impairs, et février.

Pour éviter de faire un fichier usine : est-il possible que lorsque 28 est présent dans une cellule B2 de l'une des feuilles, que l'incrémentation s'arrête et laisse la possibilité d'insérer à la main le bon enchaînement ?
 
Re,

Pour l'incrémentation il faut traiter les dates :
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i, dat As Date
Application.EnableEvents = False
On Error Resume Next 'sécurité
With Sheets(1)
    .[D2] = UCase(Replace(Replace(Replace(LCase(.[D2]), "fev", "fév"), "aou", "aoû"), "dec", "déc"))
    dat = .[B2] & " " & .[D2] & " " & .[E2]
End With
For i = 2 To 6
    With Sheets(i)
        .Cells(2, 2) = Day(dat + i - 1) 'jour
        .Cells(2, 4) = UCase(Format(dat + i - 1, "mmmm")) 'mois
        .Cells(2, 5) = Year(dat + i - 1) 'année
    End With
Next
Application.EnableEvents = True
End Sub
Notez aussi la formule en B1 pour vérifier le jour.

A+
 

Pièces jointes

Dernière édition:
Bonjour shitoryu, le forum,

Un petit gadget : les touches de direction {DROITE} et {GAUCHE} pour incrémenter la date en B2:E2 :
Code:
Private Sub Workbook_Open()
Application.OnKey "{RIGHT}", "Droite"
Application.OnKey "{LEFT}", "Gauche"
End Sub
Code:
Sub Droite()
Incremente 1
End Sub

Sub Gauche()
Incremente -1
End Sub

Sub Incremente(sens As Integer)
Dim dat As Date
On Error Resume Next
With Sheets(1)
    dat = CDate(.[B2] & " " & .[D2] & " " & .[E2]) + sens
    .Cells(2, 2) = Day(dat) 'jour
    .Cells(2, 4) = UCase(Format(dat, "mmmm")) 'mois
    .Cells(2, 5) = Year(dat) 'année
End With
End Sub
Fichier (2).

A+
 

Pièces jointes

- 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
4
Affichages
977
  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
988
Retour