1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim varL As Integer, LigDate As Integer
'********************************************************************************
'ci-dessous agit sur le "V"
If Sh.Name Like "Prévi*" Then
varcol = Target.Column 'on affecte le N° de col de la cellule qui change
varL = Target.Row
If varcol = 11 Or varcol = 21 Or varcol = 31 Or varcol = 41 Or varcol = 51 Then 'on trie les cellules concernées
varL = Target.Row 'on donne le N° de ligne à la variable
Application.EnableEvents = False
Target.Value = UCase(Target.Value) 'on remet le "v" en majuscule
Application.EnableEvents = True
With ActiveSheet
Varfeuille = "Reel " & Right(.Name, Len(.Name) - 6) 'ça aussi
End With
With Sheets(Varfeuille)
For x = 11 To 61 'on fait une boucle
.Range(.Cells(varL, x - 8), .Cells(varL, x)).ClearContents 'donc on efface à la premire boucle C5:K5 _
M5:U5 à la deuxième, etc. jusqu'au bout de la ligne
Next x
For x = 11 To 61 Step 10 'une boucle pour donner les nouvelles valeurs
If Sh.Cells(varL, varcol) = "V" Then 'donc si on donne V à K,U etc.
If Sh.Cells(varL, x + 3) = Sh.Cells(varL, varcol - 7) Then
Application.EnableEvents = False
Sh.Cells(varL, x + 10) = Sh.Cells(varL, varcol)
Application.EnableEvents = True
End If
.Range(.Cells(varL, x - 8), .Cells(varL, x)).Formula = Sh.Range(Sh.Cells(varL, x - 8), Sh.Cells(varL, x)).Formula
End If
Next x
End With |
Partager