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 35 36 37 38 39 40 41 42 43 44 45 46 47
| Sub CalculerTotalParLigne() '(total par SKU dans votre cas)
'Supposons que la table des SKU s'appelle "Table_SKU"; vous devez remplacer ce nom par le vrai nom de votre table.
'Ouvrez votre table (appelée ici "Table_SKU") en mode création.
'Ajoutez un champ que vous appellerez "Total_SKU", de type numérique, et de format DOUBLE.
'Fermez la table après l'avoir enregistrée.
'Copier tout ce code dans un nouveau module
'Avec le curseur dans le corps du code, appuyer sur F5 pour lancer le calcul.
'PS: le champ "[Total_SKU]" peut également être rajouté à une requête; auquel cas, cette procédure doit être changée en fonction
'dépendant du SKU en cours de lecture. Mais la solution proposée ici est plus simple à gérer.
On Error GoTo arret
Dim db As Database
Dim rstSKU As Recordset
Dim totHorizontal As Double
Set db = CurrentDb()
Set rstSKU = db.OpenRecordset("Table_SKU", dbOpenDynaset) 'Nom de table à changer
With rstSKU 'Calcul du total par ligne
.MoveFirst
Do While Not .EOF
For j = 1 To 12 'Janvier occupe la position 1, ou colonne 1 (rien à voir avec le cardinal du mois)
'SKU occupe la position 0, ou colonne 0
totHorizontal = totHorizontal + Nz(.Fields(j).Value, 0)
Next j
.Edit
![Total_SKU] = totHorizontal 'Le champ "Total_SKU" doit être ajouté à votre table, au préalable
.Update
totHorizontal = 0
.MoveNext
Loop
End With
sortie:
rstSKU.Close: Set rstSKU = Nothing
db.Close: Set db = Nothing
Exit Sub
arret:
MsgBox "Erreur dans le processus !; " & Err & "; " & Error
Resume sortie
End Sub |
Partager