Voila j'ai modifier une macro qui doit pouvoir compter et apres etablir un journal de bord qui inscrit des infos a chaque fois que je depasser 3000 tonnes

et je voudrais recuper la derniere ligne du journal de bords et y faire apparaitre sur un message box

voila ma macro

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub compter()

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é
Sheets("Rapport").Range("A2:A65500").ClearContents
Sheets("Rapport").Range("B2:C65500").ClearContents
Sheets("Rapport").Range("C2:C65500").ClearContents
For i = 5 To totlig ' Demarre la boucle à la igne 5, la 1,2,3,4 sont des titres
        If IsNumeric(Range("Q" & i).Value) Then
        poid = poid + (.Range("Q" & i).Value / 1000) ' additione la valeur poids ramenée en tonnes
        End If
If poid >= 3000 Then ' test avec la prochaine valeur si ca depasse les 3000 tonnes
Sheets("Rapport").Range("A" & Sheets("Rapport").Range("A65536").End(xlUp).Row + 1) = poid & " Kg" & "  A la ligne " & i
Sheets("Rapport").Range("B" & Sheets("Rapport").Range("B65536").End(xlUp).Row + 1) = Range("M" & i)
Sheets("Rapport").Range("C" & Sheets("Rapport").Range("C65536").End(xlUp).Row + 1) = Range("J" & i)


Sheets ("Rapport")
DerniereLigne = Range(Cel).CurrentRegion.End(xlDown).Row
MsgBox ("depassement a la ligne: DerniereLigne")

.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
et mon probleme viens que je n'arrive pas a lire la derniere ligne et la faire apparaitre dans une message box


Ps:j'ai pris la méthode de lire la derniere ligne de ouskel dans la partie contribution