UserForm Budgétaire et actualisation compatble

Bonojur à tous,

Je reviens vers vous après plusieurs tests, car je rencontre deux petits soucis.

Pour information dans mon classeur test, l’onglet de la feuille « Budget_Général » n’est pas visible, il faut cliquer sur le bouton macro dans le Sommaire « Saisir le Budget Général » et le code est avbfdid59

Ensuite il y a une deuxième feuille dont l’onglet est invisible, il s’agit de la feuille « Tempo », il faut la débloquer dans le vba.

  • Suite à la mise en place de la formule =@SI(NBVAL(C7:D7)<2;"-";INDEX(Budget_General(C7;D7);1)) dans la feuille « Dépenses_Investissements » et la macro qui l’accompagne que j’ai placée dans le Module3, j’ai un problème de mise à jour.

En effet, si par exemple après une première dépense pour « Ecole Maternelle Fallières » en cellule C7 et à l’article comptable 21841 : Matériel de bureau et mobilier scolaires en cellule D7 de la feuille « Dépenses_Investissements », je souhaite engager une nouvelle dépense de la même action et du même article comptable, la réactualisation du nouveau montant en cellule G10 ne se fait pas.

Il reprend le montant initial de 1 564.00, ce qui est normal je pense, car il va chercher ses informations dans une sorte de base de données contenue dans la feuille « Budget_Général ».

Or, on devrait repartir du nouveau solde après la 1ère dépense engagée après règlement de la facture, c’est-à-dire 254.36 en cellule I7, soit un 1er solde de 1 309.64.

Donc en cellule G10, je devrais retrouver ce montant de 1 309.64, les autres feuilles fonctionnant de cette manière, mais avec une formule différente pour des raisons de ventilations des actions, ce qui n’est pas le cas pour la feuille « Dépenses_Investissements » qui regroupe toutes les actions...

  • Des contributeurs que je remercie vivement, m’ont aidé pour mettre en place un UserForm « ufCreditsDispos » me permettant de faire apparaître dans chaque feuille mon budget alloué en Fonctionnement pour chaque action et chaque ligne d’article comptable contenant un montant alloué.

En effet, il est super pratique, car il va chercher uniquement les informations dont j’ai besoin dans la feuille « Budget_Général », c’est à dire les lignes où a été saisi un montant alloué, laissant de côté les lignes vides. De plus, quand on ouvre la liste déroulante de chaque feuille à partir de la cellule C7, là aussi la liste déroulante ne reprend que les lignes des articles comptables pour lesquels il y a une somme allouée.

Par contre, depuis que j’ai ajouté le budget en Ìnvestissement et que j’ai saisi des informations entre les colonnes et cellules A51 :B60, j’ai un petit bug d’affichage. Si vous ouvrez le formulaire en C4 de la feuille « Ferme_Pédagogique », vous verrez qu’il m’affiche ces informations « Nature, Libellé, le montant total de 2 607.00 correspondant à la cellule C56 de la feuille « Budget_Général »...

probleme userfom

Est-ce qu’il serait possible tout en conservant les informations contenues entre les colonnes et cellules A51 :B60 de la feuille « Budget_Général » (voir plus de lignes un jour, s’il y a d’autres articles comptables...) pour le budget Investissement, de conserver l’affichage initial du UserForm « ufCreditsDispos » pour le budget de Fonctionnement ? Je ne suis pas spécialiste, mais il faut peut être regarder la macro Module2 dédiée à la feuille « Tempo » et peut être le code vba dédié au UserForm « ufCreditsDispos » ?

Merci de m’apporter votre aide s’il vous plait pour que je puisse finaliser ce projet qui touche au but, d’avance, un grand, grand merci, cordialement, Chti59xcel

Bonjour User_925

"ufCréditDispos", le souci provient de la recherche de la dernière ligne. Depuis l'ajout du tableau en dessous, lequel fausse le résultat.

Testons donc la recheche en descendant au lieu t'en montant.

Userform "ufCreditsDispos", "Private Sub UserForm_Initialize()",

    ' Determine the last row with data
'''    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).row ' désactivé
    lastRow = ws.Cells(8, 1).End(xlDown).row  ' ajouté 

Bizz

Bonjour Bizz,

Je viens de tester ta formule dans ma version test et ça fonctionne impeccable, merci.

En attendant, d'avoir un retour, j'ai refais des tests sur le classeur officiel et dans celui-là, je ne comprend pas, il n'y avait plus de bug ?

Alors que dans la version test, il y avait bien un bug comme je l'ai expliqué ??

Je n'y comprend rien du tout, je ne sais pas comment c'est possible. Je garde bien tes données modificatives pour cette macro et je vais surveiller l'évolution...

Un grand merci pour le retour sur ce problème, bien cordialement, Chti59xcel

Bonjour User_925,

En attendant, d'avoir un retour, j'ai refais des tests sur le classeur officiel et dans celui-là, je ne comprend pas, il n'y avait plus de bug ?

Est-ce que tu as été voir dans le classeur officiel, si le bout de code était le même ?

Userform "ufCreditsDispos", "Private Sub UserForm_Initialize()",

...

' Determine the last row with data

''' lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).row ' désactivé

lastRow = ws.Cells(8, 1).End(xlDown).row ' ajouté

...

Bizz

Bonjour Bizz,

Oui, je suis bien allé comparé les deux classeurs, celui en mode test avec ta nouvelle proposition de macro et le classeur officiel, on a bien deux bouts de code différent :

- Classeur officiel : ' Determine the last row with data
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).row

- Classeur test : ' Determine the last row with data
lastRow = ws.Cells(8, 1).End(xlDown).row

J'avoue, que je capte pas le truc ? Maintenant dans les deux versions, ça fonctionne.

De mon côté, c'est super satisfaisant, mais du coup je ne sais pas si ça va durer, ou s'il va y avoir d'autres anomalies, il faudra que je vois en mode utilisation officielle je pense ?

Merci pour tes retours, à bientôt, cordialement, Chti59xcel

Bonjour User_925,

Vas voir tes messages privés.

Bizz

Ok, ça marche !

J'ai renvoyé en message privé !

salut User_925, Bizarre,

cette mise à jour de la fonction personnalisée ne se fait pas parce que je n'ai pas utilisé la plage des données comme paramètre dans cette fonction.

Vous l'avez résolu autrement maintenant ou ce n'est pas encore résolu ?

Bonjour BsAlv

Non pour le moment, cette récupération de donnée pour une mise à jour des montants n'est pas résolu

Cordialement, Chti59xcel

bonjour,

sans cette fonction personnalisée mais avec une formule et 2 plages nommées BG_ColA et BG_Ligne4

(attention, j'ai supprimé beaucoup de feuilles pour réduire le fichier !!!)

Bonjour Bart,

Merci pour ton retour, j'ai reporté exactement la formule, nommée les deux plage à l'identique (BG_colA & BG_Ligne4), mais aucun résultat, ni même identique à ton affichage dans le classeur que tu m'as renvoyé.

Dans ton classeur en colonne G de la feuille "Dépenses_Investissements", il y a les montants correspondants aux informations contenues dans les colonnes de la feuille "Budget_Général", moi je n'ai que des ???.

Par contre, il y a un souci de calcul dans le classeur que tu m'as renvoyé, car il re reprend pas le résultat après une première dépense.

Par exemple en cellule G10, comme il s'agit de la même école maternelle "Ecole Maternelle Fallières", qui a déjà effectuée un premier achat, facture réglée, montant définitif en cellule I7 de 256.36 € avec un disponible de 1 309.64 € en cellule K7. On devrait avoir en cellule G10 le même montant de 1 309.64 € pour repartir dans un nouvel achat.

D'avance, merci, cordialement, Chti59xcel

pouvez-vous télécharger votre fichier et comment vous faites cela si cela dépasse 1.5 MB ?

Bonjour Bart,

Simplement, je compresse mon fichier avec Zip

Le voici, d'avance, merci, cordialement, Chti59xcel

re,

il y a des cellules fusionnées qui causent des problèmes dans la ligne 4. Lla plage nommée BG_Ligne4 chez vous est =Budget_Général!$2:$7 au lieu de =Budget_Général!$4:$4. (ou =Budget_Général!$A$4:$FR$4) Modifiez-cela et dites-moi le résultat.

Par exemple les cellules grises (AJ2:AL7, Total Général ....) sont invisible pour cette formule

Bonjour,

Oui ça fonctionne, merci, j'ai fait les changements dans la formule et maintenant cette proposition là fait tourner aussi le programme comme d'autres reçues.

Un grand merci à vous pour votre investissement et à tous ceux qui contribuent aux solutions apportées au programme, c'est super sympa !

Bien cordialement, Chti59xcel

Rechercher des sujets similaires à "userform budgetaire actualisation compatble"