Bonjour,
Voilà ce que je te propose:
Sub eee()
Dim maValeur As Single
Dim i As Integer
For i = 7 To 38
maValeur = Cells(i, 2).Value
If maValeur - Fix(maValeur) = 0 Then
Cells(i, 2).NumberFormat = "0 ""Kg""" ' Formatage sans virgule
Else
Cells(i, 2).NumberFormat = "0.000 ""Kg""" ' Formatage avec virgule
End If
Next i
End Sub
Pour ton info:
Dans ton code, il fallait insérer
maValeur = Range("B7").Offset(0, i).Value
à l'intérieur de ta boucle For i (sinon ton formatage se limite à ton range "B7")
et remplacer Offset(0, i) par Offset(i, 0) pour un traitement par colonne au lieu d'un traitement par ligne.
Cordialement.