XL 2019 Code VBA pour calculer des totaux/somme et calculs conditionnels

koadima

XLDnaute Junior
Bonsoir Chers tous

Je me suis débrouillé avec un tutoriel réaliser ces 2 userform de saisie. Comme je ne m’y connais pas encore bien j’ai fini par faire 2 userform qui s’ouvrent par des boutons situés dans la feuille « facture » Dieu merci.

VBA, ce n’est pas la mer à boire

  • Je sollicite votre aide pour afficher le total des colonnes C, D et E dans la ligne 18 comme indiqué.
  • Je souhaite que cette ligne bouge au fur et a mesure des ajouts(saisie).
  • Le montant en D7 doit être celui de E18
  • Le montant bénéficiaire doit être égal au montant facture – montant de l’assurance
  • Le montant de l’assurance lui doit être calculé sur la base du taux de prise en charge situé dans le tableau K16 :L26 en colonne 2 en tenant compte de la structure choisie en colonne F
  • Je ne sais pas aussi comment gérer la liste déroulante pour que le choix s’affiche dans le tableau en colonne F.
  • Je sais que je demande beaucoup mais croyez-moi j’ai cherché et tenter fatiguer. Aidez-moi
 

Pièces jointes

  • Essai de facturation.xlsm
    40.4 KB · Affichages: 9

chris

XLDnaute Barbatruc
Bonjour

Puisque tu utilises des tableaux structurés profites-en
On code de façon bien plus simple


De plus le total étant une ligne spécifique des tableaux structurés, il s'actualise seul et suit l'ajout de lignes

Prend l'habitude de nommer tes tableaux au lieu de garder les noms automatiques comme Tableau1 : tu y gagneras en lisibilité surtout en VBA
 

koadima

XLDnaute Junior
Bonjour mon frère
Merci beaucoup.
J'ai téléchargé votre PDF et je l'ai parcouru. Mais comme je l'ai dit, ce que j'ai fait c'est de suivre un tutoriel pour le réaliser. Proprement, j'aime VBA mais je ne m'y connais pas encore. Je me suis dit que pour demander de l'aide il fallait un minimum et c'est ce que j'ai fait.
Votre PDF est très instructif mais sans de l'aide pour le moment je ne puis comprendre. Avec le temps puisque je m'instruis peu à peu.
Je serais plus à l'aise avec une tuto-vidéo.
Aidez moi à résoudre mon problème, je ne sais vraiment que faire
 

Dranreb

XLDnaute Barbatruc
Boujour.
Je crois que vous auriez meilleur temps de vous passer des UserForm et de prévoir ça dans Feuil1 (Facture) :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim LOt As ListObject
   Set LOt = Me.ListObjects("Tableau3")
   If Target.Address = LOt.Range.Cells(LOt.ListRows.Count + 2, 1).Address Then
      LOt.ListRows.Add AlwaysInsert:=True
      End If
   End Sub
Ça ajoute proprement une nouvelle ligne dans le tableau lorsqu'on sélectionne la cellule sous la dernière date.
Complétez les formules qui manquent :
En 'Facture'!Tableau3[Montant bénéficiaire] :
Code:
=[@[Montant Facture ]]-[@[Montant de l''Assurance]]
En 'Facture'!Tableau3[Montant de l'Assurance] :
Code:
=[@[Montant Facture ]]*INDEX(Tableau2[taux de prise en charge];EQUIV([@Structure];Tableau2[STRUCTURES];0))
En 'Facture'!C19 :
Code:
=SOMME(Tableau3[[Montant Facture ]])
En 'Facture'!D19 :
Code:
=SOMME(Tableau3[Montant  bénéficiaire])
En 'Facture'!E19 :
Code:
=SOMME(Tableau3[Montant de l''Assurance])
Note: la ligne de totaux pourrait être intégrée au Tableau3, ce serait plus orthodoxe.
 

chris

XLDnaute Barbatruc
Bonjour à tous

J'ai modifié : les noms des tableaux et des objets du UserForm1

Je ne comprends pas qu'on puisse travailler avec des noms qui ne permettent aucun repère

J'ai essayé de comprendre ta logique de fonctionnement

La variable public Rrow permet de toujours être positionné dans le tableau

A toi de t'en inspirer pour le tableau d'en-tête de facture renommé FactureE
 

Pièces jointes

  • Essai de facturation_2.xlsm
    49.1 KB · Affichages: 5

Statistiques des forums

Discussions
294 039
Messages
1 935 786
Membres
187 447
dernier inscrit
Harvedo