Bonjour,
Je vais essayer de t'aider mais c'est du vba et tu sais Celeda et le Vba à part le a en commun,
donc j'ai cherché et j'ai trouvé cette macro dans le fichier ci-joint,
elle est de Frederic Sigonneau issue d'une une fonction de Chip Pearson pour les dollars,
'de FS adaptée pour des francs
'10000F, 5000F, 2000F, 1000F, 500F, 250F, 200F, 100F, 50F, 25F, 10F et 5F
Function EspecesFrancs(ByVal Montant As Double) As Variant
'd'après une fonction de Chip Pearson pour les dollars
Dim Ndx As Integer
Dim Counter As Integer
Dim Arr As Variant
'valeurs possibles des billets ou pièces euros (15)
Arr = Array(10000, 5000, 2000, 1000, 500, 250, 200, 100, 50, _
25, 10, 5)
For Ndx = LBound(Arr) To UBound(Arr)
Counter = 0
While (Montant + 0.001) >= Arr(Ndx)
Counter = Counter + 1
Montant = Montant - Arr(Ndx)
Wend
Arr(Ndx) = Counter
Next Ndx
EspecesFrancs = Arr
End Function
avec le mode d'emploi pour l'appliquer :
De A1 à L1, tu inscris, par ex, tes entêtes de colonnes ("Montant" en A1 puis toutes les valeurs possibles de B1 à L1).
En A2 tu inscris une somme dont tu veux trouver le détail en espèces.
Puis tu sélectionnes B2:L2 et tu tapes en B2 : =EspecesFrancs(A2)
et tu valides par Ctrl+Maj+Entrée.
A partir de là tu peux sélectionner B2
2 et tirer vers le bas autant de lignes
FS
1- c'est une function donc il faut qu'elle soit placée dans un module standard
pour récupérer la macro, tu peux faire ALT F11 et une fois dans VBE (la fenêtre dans laquelle on retrouve toutes les macros des projets), tu fais glisser le module en maintenant le click de la souris et tu relaches le tout dans le classeur dans lequel tu veux utiliser cette function.
2- mais attention cette function ne me satisfait pas complètement car selon les chiffres à répartir en billet surtout les dizaines et les centaines, je me suis apercue qu'elle ne le faisait pas en totalité, il faudrait peut-être la modifier encore mais regarde si cela te convient pour déjà travailler avec, car hélas, je ne suis pas capable d'apporter ces modifications aux codes.
Celeda