{VBA Excel} Simplifier une macro avec une copie
J'ai une macro qui compte ma production et arrive tous les 3000 tonnes je crée une message box
au debut je voulais créer un journal de bord sur un fichier word
mais j'ai un bug informatique dans ma boite qui fous le bordel sur tous le réseau
donc pour contourner le probleme
je voudrais a la place d'une message box
faire un journal de bord sur une autre feuille d'excel sur le meme classeur
sous la forme
date de fabrication numero de lots quantite fabrique
c'est 3 parametres ce situe sur une feuille nommé Saisie
date de fabrication est dans la colonne I sous la forme jj/mm hh:mm
numero de lots colonne Q
quantite fabrique correpsond a "poids" dans ma macro
j'ai mis en rouge ma message box
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 32 33 34
| 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é
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
MsgBox ("Depassement :" & poid & " Kg" & vbCr & "A la ligne " & i)
.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 Sub |
si vous pouvez m'aiguiller pour commencer
je vous en remercie d'avance