Mise en pratique cours sur les conditions

Bonjour à tous,

tout d'abord je tiens a remercier les contributeurs de ce forum qui m'ont permit d'apprendre tellement de trucs et astuces

je bricole depuis des années sur Excel/VBA et ça m'a plutôt bien réussit professionnellement mais je cherche constamment à m'améliorer, c'est pourquoi à mes heures perdues je suis les cours/tuto etc... bref venons en au fait

là je me penche sur les conditions

voici mon bout de code :

Sub If_Loop()

Dim Cell As Range, derligne As Integer, black As String, white As String, gris As String

black = "Mika"
white = "Gwen"
gris = "Loic"

 With Sheets("feuil3")
    .Select
     derligne = .Range("A65536").End(xlUp).Row
 End With

For Each Cell In Range("A2:A" & derligne)

    If Cell.Value < 0 Then

      With Cell.Offset(0, 1)
      .Value = gris
      .Interior.Color = 255
      End With

    ElseIf Cell.Value > 5 Then

      With Cell.Offset(0, 1)
      .Value = black
      .Interior.Color = 8290560
      End With

    Else

      With Cell.Offset(0, 1)
      .Value = white
      .Interior.Color = 13408767
      End With

     End If

  Next Cell

End Sub

très simple j'ai une colonne A avec un "Score" et selon sa valeur j'y affecte un nom et une couleur en colonne B. ça marche nickel.

Pour compléter le truc, je souhaite vérifier que la donnée soit bien numérique, j'ai donc essayé la fameuse If IsNumeric en rajoutant au début de mon code

score As Integer

score = Range("A2") + 1

If IsNumeric(score) Then

score = score + 1

Else

MsgBox "entree" & score & " n'est pas valide"

j'ai tenté pas mal de truc sans succès et là je commence à sécher (mais je sent que je ne suis pas si loin que ça )

pourriez vous svp m'éclaircir ?

12test-condition.xlsm (14.36 Ko)

Bonjour,

Pas bien compris comment le test 'Isnumeric' s'intégrait dans le reste du code...ni le soucis que vous rencontrez...

Avant de faire un calcul sur une donnée, il vaut mieux vérifier si elle est numérique ...

un essai :

For Each Cell In Range("A2:A" & derligne)
    If IsNumeric(Cell.Value) then
        If Cell.Value < 0 Then
        .../...
        ElseIf Cell.Value > 5 Then
        .../...
        Else
        .../...
        End If
    Else
        MsgBox "La cellule  " & Cell.Address & " n'est pas numérique"
    End If
  Next Cell

A+

Merci Algoplus,

c'était vraiment trés simple je m'en doutais

il me manquait le Value de If IsNumeric(Cell.Value) et le adress de cell.Adress

bonne journée

A+

Rechercher des sujets similaires à "mise pratique cours conditions"