incrémenter 1 série sur plusieurs feuilles

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
 

shitoryu

XLDnaute Occasionnel
je dois rater une étape, l'incrémentation ne se fait pas.
Voici mon fichier. Il faudrait qu'en B2 de la feuille 1, je tape le numéro d'un jour du mois (1, 2, ou 3, etc.) et que cela incrémente sur les autres feuilles automatiquement.
Désolé pour mon incompétence...
 

Pièces jointes

  • Planning Réservations TEST.xls
    741.5 KB · Affichages: 11

shitoryu

XLDnaute Occasionnel
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 ?
 

job75

XLDnaute Barbatruc
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

  • Planning Réservations TEST(1).xls
    791 KB · Affichages: 13
Dernière édition:

job75

XLDnaute Barbatruc
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

  • Planning Réservations TEST(2).xls
    786.5 KB · Affichages: 14

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 196
Membres
103 153
dernier inscrit
SamirN