Je reviens vers vous afin de solliciter votre partage de connaissance. Afin de mieux comprendre mes attentes je joint un fichier test sur lequel est expliqué mes recherches. Je continue de chercher de mon côté mais connaissant la valeur de nombreux XLdiens présents, cela m'épargnera beaucoup de temps et surtout de maux de tête, merci d'avance de vos réponses.
Merci natorp, je prends c'est toujours un plus que de voir #div/0, mais en fait le com en j5 concerne le fait que le total repris en ligne 27 puisse se recopier automatiquement dans les cases sur fond de couleur (couleur n°40) du tableau c5 : ab24.
La personne qui utiliserait ce tableau n'aurait qu'à mettre les cases en couleur par un recopier la mise en forme, de ce fait le nombre de case de couleur se calcul tout seul en ligne 26. Le cout repris en ligne 2 divisé par le nombre repris en ligne 26 donne le total en ligne 27 c'est à dire que le coût de la dépense divisé par le nombre de participant donne le coût individuel.
Mais de nouveaux participants arrivent et viennent s'ajouter dans la colonne A sur base de la bd "compte" mais donc ne participeront qu'au cout des dépenses à venir d'oû la solution de mettre en fond de couleur manuellement les cases pour le nombre de personnes concernées selon la date de la dépense.
Merci me donne le résultat escompté, l'obligation du copier coller ou recopier mise en forme ne sera pas une contrainte par rapport à là facilité du résultat.
Il ne reste que la ligne 1 et 2.
la ligne 1 reprend les dépenses avec la date d'exécution reprises sur la feuille compte, serais ce possible d'automatiser la retranscription
la ligne 2 reprend le montant de cette dépense.
Pour ajouter les débits souhaités, tu peux utiliser cette fonction :
Code:
Sub Ajouter_Debits()
Dim d As Object, i As Integer, c
Set d = CreateObject("scripting.dictionary")
With Sheets("Compte")
For i = 3 To .[d65000].End(xlUp).Row
If .Cells(i, "d").Value > 0 Then d(.Cells(i, "a").Value & " " & .Cells(i, "b").Value) = .Cells(i, "d").Value
Next i
End With
With Sheets("Recap")
i = 3
For Each c In d.keys: .Cells(1, i).Value = c: .Cells(2, i).Value = d(c): i = i + 1: Next c
End With
End Sub