{VBA Excel] Récupere une ligne avec ces infos
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:
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