Voici le code de ma macro avec les commentaires

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub control()
Dim totlig As Long, poid As Double, i As Long
With Sheets("Saisie") ' Travaille sur la feuille Saisie
totlig = .Range("Q65536").End(xlUp).Row ' Recupere le nombre de ligne
poid = 0# ' Initialise le poid calculé
For i = 5 To totlig ' Demarre la boucle e la igne 5, la 1,2,3,4 sont des titres
poid = poid + (.Range("Q" & i).Value / 1000) ' additione la valeur poids ramenée au kilo
If poid >= 3000 Then ' test avec la prochaine valeur si ca depasse les 3 tonnes
.Range("Q" & i).Interior.ColorIndex = 3 ' je colorie en rouge la cellule
poid = 0# ' remise à zero des calculs
Else
.Range("Q" & i).Interior.ColorIndex = xlNone ' sinon j'enleve la couleur
End If
Next i
End With
End Sub
je voudrais rajouter une condition qui me pertmet de calculer les poids seulement dans les cellules ou il y a une valeur

car actuellement ce programme verifie toutes la colones et si j'ai une case vide il affiche une erreur
car dans ces cellules se trouves une formules qui vont chercher une valeur si j'ai remplis d'autres cellules


ce que je voudrais c'est pas de contourner le probleme en metant 0 si il y a rien de fait puis ca marchera car j'ai tester

mais je veux que ma macro prennent que les cellules ou il y a une valeur

merci de votre aide