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 Subtrè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 ?
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 CellA+
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+