Bonjour;
Je souhaiterai avoir, à partir du nombre de litres "d'eau par exemple", un résultat en "pack,bouteille,litres"
avec la critère (1 pack = 6 bouteilles de 1.5 litres).
voici ce que j'ai mis:
=SIERREUR(ENT(E28/(6*1,5))&" pack, "&ENT(MOD(E28/(6*1,5)-ENT(E28/(6*1,5));1,5)*(6))&" bout. et "&ARRONDI(MOD(E28/(6*1,5)-ENT(E28/(6*1,5));1,5)*(1,5);2)&" litre ";"")
la cellule E28 contient le nombre de litres.
exemple:
E28=16.2 litres --> 1 pack, 4 bouteilles et 1.2 litres
ça marche mais je trouve ça lourd et je suis sûr qu'on peut faire mieux.
merci de m'aider.
essaye ça
= ENT(E28/9) & " pack(s) " & ENT((E28-9)/1,5) & " bouteille(s) " & MOD ((E28-9)/1,5)*10 & " litre(s) "
je suppose que c sous Excel
et je pense pas qu'on puisse faire moins lourd
Tu travailles sous Excel, c'est donc du VBA, pas du VB6 --> Catégorie
La solution va consister à écrire du code à la place de ces formules.
Le code a certaines fonctions supplémentaires et est plus facile à manipuler.
Test et analyse ce code, tu y trouveras les idées pour l'adapter à tes besoins
Private Sub Worksheet_Change(ByVal Target As Range)
Dim oRange As Range
Dim oCell As Range
Dim gQté As Single
Dim gPack As Single
Dim gBout As Single
Dim gReste As Single
Set oRange = Intersect(Target, Range("A:A"))
If Not oRange Is Nothing Then
' Une cellule de la colonne A vient d'être modifiée
gBout = 1.5
gPack = 6 * gBout
For Each oCell In oRange
' On va calculer les valeurs des cellules :
' Rappel : Notre cellule est actuellement en colonne A
gQté = oCell.Value
' B : Pack = nombre entier de 6*1.5 dans la Qté totale
oCell.Offset(0, 1).Value = Fix(gQté / gPack)
gReste = gQté Mod gPack
' C : Bouteilles = nombre entier de 1.5 dans le reste
oCell.Offset(0, 2).Value = Fix(gReste / gBout)
gReste = gReste Mod gBout
' D : Litres = le reste
oCell.Offset(0, 3).Value = gReste
Next
End If
End Sub
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Merci beaucoup à tous, je n'ai pas eu le temps d'essayer ce que vous m'avez proposé les uns et les autres car je suis parti voir mes parents à l'est.
je vous tiendrai au courant.
encore une fois merci.