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
 

Johan

XLDnaute Occasionnel
Salut,

Faisable facilement en VBA aussi

A intégrer directement dans le code de ta feuille 1 (Worksheet => Selection changed) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim saisie As Integer
saisie = Cells(1, 1)


ThisWorkbook.Worksheets("feuil2").Cells(1, 1) = saisie + 1
ThisWorkbook.Worksheets("feuil3").Cells(1, 1) = saisie + 2
ThisWorkbook.Worksheets("feuil4").Cells(1, 1) = saisie + 3
ThisWorkbook.Worksheets("feuil5").Cells(1, 1) = saisie + 4
ThisWorkbook.Worksheets("feuil6").Cells(1, 1) = saisie + 5
ThisWorkbook.Worksheets("feuil7").Cells(1, 1) = saisie + 6

End Sub
 

job75

XLDnaute Barbatruc
Bonjour shitoryu, chatounet, johan,

Placer dans ThisWorkbook :
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i
Application.EnableEvents = False
On Error Resume Next 'sécurité
For i = 2 To 7
Sheets(i).Cells(1) = Sheets(1).Cells(1) + i - 1
Next
Application.EnableEvents = True
End Sub
A+
 
Dernière édition:

chatounet

XLDnaute Nouveau
Bonjour JOB75 et reboujour aux premiers

JOB75, l me semble que votre proposition vaut pour le cas où le lundi serait en position 2 (sheets(i)) dans l'ordre des feuilles.
Je pencherais alors pour :
For i = 1 To Sheets.Count
For j = 1 To 7
If Sheets(i).Name = Format(CDate(j & " 1, 01"), "dddd") Then Sheets(i).Cells(1, 1) = Sheets("Feuil1").Range("a1") + Weekday(CDate(j & " 1, 01"), 2)
Next j
Next i
Mais cette proposition à aussi la limite aux noms des feuilles lundi, mardi etc.
Cordialement
 

job75

XLDnaute Barbatruc
Re,

Si les feuilles ne sont pas classées utiliser :
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim debut As Range, a, i
Set debut = Feuil1.Cells(1) 'CodeName de la feuille à adapter
If Not IsNumeric(CStr(debut)) Then debut = 0
a = Array("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi")
Application.EnableEvents = False
On Error Resume Next 'sécurité
For i = 0 To 5
Sheets(a(i)).Cells(1) = debut + i + 1
Next
Application.EnableEvents = True
End Sub
A+
 

shitoryu

XLDnaute Occasionnel
Je ne suis pas un expert en Excel. Pour le texte ci-dessous, si on veut changer la cellule de référence "B2" par exemple, on met Cells(2, 2) ?
Merci encore

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim saisie As Integer
saisie = Cells(1, 1)

ThisWorkbook.Worksheets("feuil2").Cells(1, 1) = saisie + 1
ThisWorkbook.Worksheets("feuil3").Cells(1, 1) = saisie + 2
ThisWorkbook.Worksheets("feuil4").Cells(1, 1) = saisie + 3
ThisWorkbook.Worksheets("feuil5").Cells(1, 1) = saisie + 4
ThisWorkbook.Worksheets("feuil6").Cells(1, 1) = saisie + 5
ThisWorkbook.Worksheets("feuil7").Cells(1, 1) = saisie + 6
 

chatounet

XLDnaute Nouveau
si on veut changer la cellule de référence "B2" par exemple, on met Cells(2, 2)
Oui, le nombre avant la virgule désigne la ligne, celui après désigne la colonne. Cells(2,8) : 2eme ligne (2) et 8eme colonne (h). autrement dit cells(2,8) correspond à la cellule "H2".
Cela dit, la dernière proposition de JOB25 est de loin la plus efficace et la plus sûr.
Bien à toi
 

shitoryu

XLDnaute Occasionnel
merci ! Donc si je retiens l'autre solution, pour B2 je dois quelles lignes ?
Désolé pour mon manque de connaissance...
Merci encore

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i
Application.EnableEvents = False
On Error Resume Next 'sécurité
For i = 2 To 7
Sheets(i).Cells(1) = Sheets(1).Cells(1) + i - 1
Next
Application.EnableEvents = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 688
dernier inscrit
Biquet78