Moins 1

Bonsoir

jai mis 2 bouton

Phase 1 et Phase 2

phase

quand je clique sur Phase 2

toutes les cotes qui sont en F4:F41 font moins 1 a partir de la cote de 3 et pas en dessous

exemple 3.1 devient 2.1 autre exemple 3.8 devient 2.8 autre exemple 4.4 devient 3.4

je pense que vous avez compris

et quand je clique sur Phase 1 toutes les cotes ne change plus il enlèves pas 1 point

merci d'avance

ps et une dernière chose quand j’écris un chiffres en I6 et en K6 et L6 il n'affiche rien

Salut ilienfrancois,

tu y tiens, à ton -1...

Il me semblait que c'était à partir de 2 et non 3 !?

A modifier ici, si nécessaire.

If CDbl(.Range("F" & x).Value) >= 2 Then .Range("F" & x).Value = CDbl(.Range("F" & x).Value) - 1

Sub Soustraire()
'
With Worksheets("COURSES")
    If .Range("F4:F41").Font.ColorIndex <> 3 Then
        For x = 4 To 41
            If CDbl(.Range("F" & x).Value) >= 2 Then .Range("F" & x).Value = CDbl(.Range("F" & x).Value) - 1
        Next
    End If
End With
'
End Sub

Pour figer les cotes, via le bouton "Phase 1", la couleur de fonte de la colonne [F] se met au rouge.

Un nouveau clic remet la couleur en noir ce qui permet une nouvelle éventuelle soustraction.

Les cellules [I6-K6-L6] étaient en fonte blanche : suffisait de les basculer en noir!

Tant qu'à faire, j'ai un peu rectifié ton code 'TEST'.

Sub TEST()
'
Dim sWkListe As Worksheet
Set sWkListe = Worksheets("Liste des courses")
'
With Worksheets("COURSES")
    .Range("C4:E" & .Range("C" & Rows.Count).End(xlUp).Row + 1).Clear
    iRow = sWkListe.Range("A" & Rows.Count).End(xlUp).Row
    If sWkListe.Range("A1").Value <> "" Then
        .Range("C4").Resize(iRow, 1).Value = sWkListe.Range("G1:G" & iRow).Value
        .Range("D4").Resize(iRow, 2).Value = sWkListe.Range("A1:B" & iRow).Value
        If iRow > 1 Then .Range("C4").Resize(iRow, 3).Sort key1:=.Range("E4"), order1:=xlAscending, Orientation:=xlTopToBottom, Header:=xlNo
        .Range("C4").Resize(iRow, 3).Borders.LineStyle = xlContinuous
        .Range("F4:F41").Font.ColorIndex = 1
    End If
    .Range("C4:E" & .Range("C" & Rows.Count).End(xlUp).Row).HorizontalAlignment = xlHAlignCenter
    .Range("C4:E" & .Range("C" & Rows.Count).End(xlUp).Row).VerticalAlignment = xlVAlignCenter
End With
'
End Sub

A+

26ilienfr-moins1.xlsm (608.21 Ko)

Merci beaucoup