XL 2019 Userform récapitulant un tableau

AIXELS

XLDnaute Occasionnel
Bonjour à tous les amis du Forum.
Après de nombreuses recherches, je n'arrive pas à trouver le moyen
d'afficher le récap des sommes d'un suivi annuel par userform.
J'ai dessiné le userform avec les données à afficher.
Pouvez-vous me donner un coup de main s'il vous plaît.
La syntaxe pour afficher dans les textbox de la feuille BDD.
Code qui pourra me servir à évoluer.
Je ne vous demande pas de me mâcher le travail, mais de me
donner des pistes de solutions.

Dans l'attente de votre aide.
Bien cordialement. :)
 

Pièces jointes

  • TEST_RECAP.xlsm
    53.5 KB · Affichages: 39

ChTi160

XLDnaute Barbatruc
Re
info
Les crochets , ca ne marche pas dans Vba !
de plus tes heures dans les TextBox TextBoxH de 1 à 12 n'affichent pas la bonne valeur , je crois !
a moins que les valeurs du fichier que tu as joint , aient été changées !
Nombre d'heures supérieur à 24 heures ;
y'a encore du boulot (faire recherche sur le Net)
Bonne fin de journée
jean marie
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Re

Et pour compléter Jean Marie




@Phil69970
 

ChTi160

XLDnaute Barbatruc
Re
Pour faire avancer le Chimilimblic
VB:
Private Sub UserForm_Initialize()
Dim SommeA As Double
Dim SommeB As Double
Dim SommeC As Double
    With Worksheets("BDD")
        For i = 1 To 12
            Me.Controls("TextBoxH" & i).Value = CStr(24 * Int(.Range("AH" & i + 4)) + DatePart("h", (.Range("AH" & i + 4)))) & ":" & Format(.Range("AH" & i + 4), "Nn") 'Format(CDate(.Range("AH" & i + 4)), "hh:mm") 'Heure
            Me.Controls("TextBoxA" & i).Value = Format(.Range("AI" & i + 4), "##0.00") 'Somme1
                SommeA = SommeA + IIf(.Range("AI" & i + 4) = Empty, 0, .Range("AI" & i + 4))
            
            Me.Controls("TextBoxB" & i).Value = Format(.Range("AJ" & i + 4), "##0.00")  'Somme2
                SommeB = SommeB + IIf(.Range("AJ" & i + 4) = Empty, 0, .Range("AJ" & i + 4))
            
            Me.Controls("TextBoxC" & i).Value = Format(.Range("AL" & i + 4), "##0.00")  'Somme3
                SommeC = SommeC + IIf(.Range("AL" & i + 4) = Empty, 0, .Range("AL" & i + 4))
        Next i
    Me.TextBox141.Text = CStr(24 * Int(.Range("AH17")) + DatePart("h", (.Range("AH17")))) & ":" & Format(.Range("AH17"), "Nn")
    Me.TextBox142.Text = Format(SommeA, " ### ##0.00")
    Me.TextBox143.Text = Format(SommeB, " ### ##0.00")
    Me.TextBox144.Text = Format(SommeC, " ### ##0.00")
End With
End Sub
Bonne fin de Soirée
jean marie
 

AIXELS

XLDnaute Occasionnel
Bonjour @jean marie et tous les amis du Forum.
Un grand merci à toi @jean marie pour ton travail, respect.
J'ai fait des recherches sur internet et je n'ai pas trouvé la réponse
ou alors des fonctions hyper compliquées difficile à comprendre
au vu de mon niveau.
Je mesure le chemin qui me reste à parcourir !
Prenez soin de vous et de vos proches. 😷
Bien cordialement. :)
 

Pièces jointes

  • gif-merci.gif
    gif-merci.gif
    38.3 KB · Affichages: 13

AIXELS

XLDnaute Occasionnel
Bonjour @jean marie et tous les amis du Forum.
Un grand merci à toi @jean marie pour ton travail, respect.
J'ai fait des recherches sur internet et je n'ai pas trouvé la réponse
ou alors des fonctions hyper compliquées difficile à comprendre
au vu de mon niveau.
Je mesure le chemin qui me reste à parcourir !
Prenez soin de vous et de vos proches. 😷
Bien cordialement. :)
Bonjour @jean marie et tous les amis du Forum.
Je reviens vers toi pour savoir comment peut-on ajoute le "h" des heures dans ta formule.
J'ai réussi pour les €uros mais l'heure, je ne vois pas où l'on peut ajoute le h.
Par avance, merci pour ton aide.
Bien cordialement.
 

Pièces jointes

  • AJOUTER LE H D'HEURE.jpg
    AJOUTER LE H D'HEURE.jpg
    75.1 KB · Affichages: 11

ChTi160

XLDnaute Barbatruc
Bonjour AIXELS
Bonjour le Fil ,le Forum
Peut être avec ça !
VB:
Private Sub UserForm_Initialize()
Dim SommeA As Double
Dim SommeB As Double
Dim SommeC As Double
    With Worksheets("BDD")
        For i = 1 To 12
            Me.Controls("TextBoxH" & i).Value = CStr(24 * Int(.Range("AH" & i + 4)) + DatePart("h", (.Range("AH" & i + 4)))) & ":" & Format(.Range("AH" & i + 4), "Nn") & " h" 'Format(CDate(.Range("AH" & i + 4)), "hh:mm") 'Heure
            Me.Controls("TextBoxA" & i).Value = Format(.Range("AI" & i + 4), "##0.00 €") 'Somme1
                SommeA = SommeA + IIf(.Range("AI" & i + 4) = Empty, 0, .Range("AI" & i + 4))
            
            Me.Controls("TextBoxB" & i).Value = Format(.Range("AJ" & i + 4), "##0.00 €")  'Somme2
                SommeB = SommeB + IIf(.Range("AJ" & i + 4) = Empty, 0, .Range("AJ" & i + 4))
            
            Me.Controls("TextBoxC" & i).Value = Format(.Range("AL" & i + 4), "##0.00 €")  'Somme3
                SommeC = SommeC + IIf(.Range("AL" & i + 4) = Empty, 0, .Range("AL" & i + 4))
        Next i
    Me.TextBox141.Text = CStr(24 * Int(.Range("AH17")) + DatePart("h", (.Range("AH17")))) & ":" & Format(.Range("AH17"), "Nn") & " h"
    Me.TextBox142.Text = Format(SommeA, "### ##0.00 €")
    Me.TextBox143.Text = Format(SommeB, "### ##0.00 €")
    Me.TextBox144.Text = Format(SommeC, "### ##0.00 €")
End With
jean marie
 

AIXELS

XLDnaute Occasionnel
Bonjour AIXELS
Bonjour le Fil ,le Forum
Peut être avec ça !
VB:
Private Sub UserForm_Initialize()
Dim SommeA As Double
Dim SommeB As Double
Dim SommeC As Double
    With Worksheets("BDD")
        For i = 1 To 12
            Me.Controls("TextBoxH" & i).Value = CStr(24 * Int(.Range("AH" & i + 4)) + DatePart("h", (.Range("AH" & i + 4)))) & ":" & Format(.Range("AH" & i + 4), "Nn") & " h" 'Format(CDate(.Range("AH" & i + 4)), "hh:mm") 'Heure
            Me.Controls("TextBoxA" & i).Value = Format(.Range("AI" & i + 4), "##0.00 €") 'Somme1
                SommeA = SommeA + IIf(.Range("AI" & i + 4) = Empty, 0, .Range("AI" & i + 4))
           
            Me.Controls("TextBoxB" & i).Value = Format(.Range("AJ" & i + 4), "##0.00 €")  'Somme2
                SommeB = SommeB + IIf(.Range("AJ" & i + 4) = Empty, 0, .Range("AJ" & i + 4))
           
            Me.Controls("TextBoxC" & i).Value = Format(.Range("AL" & i + 4), "##0.00 €")  'Somme3
                SommeC = SommeC + IIf(.Range("AL" & i + 4) = Empty, 0, .Range("AL" & i + 4))
        Next i
    Me.TextBox141.Text = CStr(24 * Int(.Range("AH17")) + DatePart("h", (.Range("AH17")))) & ":" & Format(.Range("AH17"), "Nn") & " h"
    Me.TextBox142.Text = Format(SommeA, "### ##0.00 €")
    Me.TextBox143.Text = Format(SommeB, "### ##0.00 €")
    Me.TextBox144.Text = Format(SommeC, "### ##0.00 €")
End With
jean marie
Re Bonjour.
Merci @jean marie. 👍
Bonne journée à tous.
Bien cordialement. :)
 

AIXELS

XLDnaute Occasionnel
Bonjour à tous les amis du Forum. :)
Je reviens vers vous dans la continuité des aides que vous m'avez apportées
Concernant un récapitulatif d'un userform mois par mois et pour diverses rubriques
tout fonctionnait très bien.
Jusqu'à ce que je rajoute une ligne pour afficher le jour en lettre : Lun., Mardi etc...
Mon problème se situe sur le TextBoxH3 qui ne se met as à jour. Le résultat reste à zéro
bien pour toutes les rubriques de la même ligne sont bien transcrites (voir fichier joint).
J'ai tout essayé, suppression du TextBoxH3, création d'un nouveau, rien ne se passe.
Je dois passer à côté de quelque chose qui m'échappe. :cool:
J'ai passé trop de temps dessus, un oeil extérieur serait le bienvenu.
Je vous ai noté les divers noms des textbox sur le userform pour la lecture plus facile du code.
Merci pour votre aide.
Bien cordialement.
 

Pièces jointes

  • PROBLEME SUR LE TOTAL DU TextBoxH3.xlsm
    54.7 KB · Affichages: 3
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonsoir AIXELS
AAAAAAHHHH ! ces formats d'heures !
je me suis battu avec le Cas où les heures représentent 24:00 juste lol
j'ai donc changé la façon de récupérer le Texte des cellules qui contiennent des Heures
Tu testes et tu me dis Lol
jean marie
 

Pièces jointes

  • PROBLEME SUR LE TOTAL DU TextBoxH3-Chti160.xlsm
    54 KB · Affichages: 3

Discussions similaires

Réponses
93
Affichages
1 K
Réponses
16
Affichages
409

Statistiques des forums

Discussions
311 723
Messages
2 081 932
Membres
101 844
dernier inscrit
pktla