Oui mais avec Workbook_SheetChange, la macro ne fonctionne pas
En fait quand j'utilise Workbook_SheetChange, mes dates changent sur toutes les feuilles (normale), mais l'affichage des numéros de semaine lui ne change pas, rien ne ce passe.
La cellule B5 de la feuille 2 = La cellule B5 de la feuille 1
C'est pour cela que lorsque je rentre une valeur (une date) dans la cellule B5 de la feuille 1, toutes les dates changent pour les deux feuilles
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question.... ne nous dit pas comment s'établit cette égalité.
Or, les choses (et donc le traitement) sont très très très différentes selon qu'elle s'établit par application d'une formule en B5 de la feuille 2 ou si elle s'établit par un code dans le module de code de la feuille 1.
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Byte, R As Range If Target.Address <> "$B$6" Then Exit Sub Application.ScreenUpdating = 0 Application.DisplayAlerts = 0 With [A6:A36] .UnMerge .FormulaR1C1 = "=WEEKNUM(RC[1])"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte, R As Range
If Target.Address <> "$B$6" Then Exit Sub
Application.ScreenUpdating = 0
Application.DisplayAlerts = 0
With [A6:A36]
.UnMerge
.FormulaR1C1 = "=WEEKNUM(RC[1]-1)"
For i = 6 To 36
If Cells(i, 1) = Cells(i + 1, 1) Then
If R Is Nothing Then
Set R = Union(Cells(i, 1), Cells(i + 1, 1))
Else
Set R = Union(R, Cells(i + 1, 1))
End If
R.Interior.ColorIndex = IIf(Cells(i, 1) Mod 2 = 0, 4, 8)
Else
If Not R Is Nothing Then R.Merge 0
Set R = Nothing
End If
Next
[A6].Interior.ColorIndex = IIf([A6] Mod 2 = 0, 4, 8)
.Value = [A6:A36].Value
.VerticalAlignment = xlCenter
End With
Application.DisplayAlerts = 1
End Sub
ceci :
La cellule B5 de la feuille 2 = La cellule B5 de la feuille 1