Répartition Budgétaire

Bonjour le forum,
je sollicite l'aide d'une âme charitable pour m'aider à résoudre une problématique qui dépasse mes compétences actuelles.

Je désirerai répartir un "Montant total à répartir" (en CX) sur 14 financeurs (avec un maximum de 4).

Jusque-là, lorsque je double clic sur la ligne du tableau, j'arrive :
- A récupérer le "N°ID" de la Fiche et son "Montant Total à Répartir"
- A compter le nombre de cellule non vides qui me donne le "Nb de financeurs"
- A afficher/masquer les ComboBox "Financeurs" et les TextBox "Montants" et les labels 1) 2) 3) 4) en fonction du "Nb de financeurs"
- idem lorsque je change de choix (1-2-3-4) dans la ComboBox "Nb de financeurs"

Ce que je ne sais pas faire :
- en rouge : à l'initialisation, Remplir les ComboBox et les TextBox
- en bleu : lors de la modification du "Nb de financeurs", calculer dynamiquement la somme des nouveaux montants saisis par l'utilisateur
- en vert : le calcul du delta pour s'assurer que la somme des montants saisis est bien égale à l'objectif "Total à répartir"
Et enfin, à transférer les nouvelles données dans le tableau.

J'imagine que la solution passe surement par un Array, mais je ne sais pas du tout comment m'y prendre.
Je ne sais pas non plus faire des calculs dynamiques dans un UserForm.

Merci d'avance pour votre aide

credits

Bonjour Rsone, bonjour le forum,

En pièce jointe ton fichier modifié. J'ai commenté les codes que j'avais rajoutés/modifiés et j'ai utilisé un module de classe pour les calculs dynamiques.
Mais cela ne se fait qu'à l'ouverture. Si tu changes le nombre de financeurs, j'ai laissé tel quel car je ne comprends pas ce qu'il devrait se passer en cas de changement...

10rsone-ep-v01.xlsm (35.91 Ko)

Merci beaucoup ThauThème de te pencher sur mon sujet.
De mon côté, j'ai avancé avec un array dont je découvre l'utilisation car mon but est également d'apprendre au passage.

Je vais bien analyser ta réponse et je ne manquerai de revenir vers toi avec quelques (ou tout plein) de questions.

PS : en cas de changement du nombre de financeurs, le mieux est de vider les Combo et les TextBox.
L'utilisateur devra donc les re-remplir.
Encore merci

Re,

Dans ce cas, le code pour valider :

Private Sub Label152_Click()
Dim I As Byte 'déclare la variable I (Incrément)
Dim COL As Byte 'déclare la variable COL (COLonne)

PL(LI, 2).Resize(1, PL.Columns.Count - 2).ClearContents 'efface les anciennes valeurs de la ligne LI
For I = 1 To 4 'boucle sur les 4 comboboxes
    If Me.Controls("Combobox" & I).Visible = True Then 'condition : si le contrôle est visible
        COL = Me.Controls("ComboBox" & I).ListIndex + 1 'définit la colonne COL
        PL(LI, COL).Value = Me.Controls("TextBox" & I).Value 'renvoie dans la cellule ligne LI, colonne COL de la plage PL la valeur de la TextBox associée
    End If 'fin de la condition
Next I 'prochaine combobox de la boucle
End Sub

Super Merci beaucoup
Tu m'as donné de quoi bien me creuser la tête.
Comme tu as du le comprendre avec la position du tableau en colonne 87, ce bout de code s'inscrit dans un projet beaucoup plus vaste.
Mais je préfère bien le décortiquer en l'isolant avant de l'intégrer dans mon projet.
A très vite...

ReRe TauThème,
J'ai bien lu ton code, il y avait 2-3 petites coquillettes que j'ai réussi à adapter.

Grâce à cette problématique j'ai pu faire une initiation aux Array, et je comprends qu'il va falloir que je creuse le sujet des modules de classe qui m'ont l'air bien utiles. Il ne me restera plus qu' à intégrer proprement cette fonctionnalité dans mon projet global.

En tout cas merci beaucoup pour ton investissement.
Je suis toujours admiratif de la qualité des réponses et de l'entre-aide sur le forum.

Re,

Oui j'ai aussi remarqué quelques coquilles après.

Si ça peut t'aider, j'ai ce document Word que j'utilise chaque fois que je veux créer un module de classe car sans lui je suis perdu...

Comme quoi les choses simples ..!!!
Grâce à ton Word, j'ai enfin bien compris à quoi servent les modules de classe.
Cela va m'être d'une grande utilité pour la suite de mon projet.
Muchas gracias

Rechercher des sujets similaires à "repartition budgetaire"