Microsoft 365 Vba affichage Numérique TextBox

974RE

XLDnaute Occasionnel
Soan, Le Forum,
Je rencontre un problème d'affichage sur des TextBox de l'USF Modifier: après avoir saisie un nombre, les textBox (2 à 13 donc Janvier à Décembre) n'affichent pas les décimales si elles sont à 0 ( saisie: 20,10 affichage textBox = 20,1). Apparemment, il y aurait un problème sur les codes concernant ces TexBox: impossible de forcer le format.
J'ai également un "beug" qui intervient après la validation du montant saisie: si les cellules du tableau (Janvier à Décembre) sont vides: "Incompatibilité de Type" sur les lignes "Range("E" & Ligne).Value = CDbl(TextBox3.Value). Il est nécessaire que les cellules soient vides, car cela me permet de voir que j'ai loupé la saisie d'une ligne. Si la consommation est à 0, cela signifie qu'il n'y a pas de loupé: la consommation est à 0,00.
Ci-joint le fichier.
Avec tous mes remerciements.
 

Pièces jointes

  • Essai Contrôle Facturation Mai 2021.xlsm
    159.4 KB · Affichages: 48

Piment

XLDnaute Occasionnel
Petit à petit ça va finir par imprimer.
En tout cas Merci Beaucoup, grâce à vous j'ai beaucoup appris, et j'ai bien conscience que je suis loin de tout maîtriser, mais j'apprends. Comme on dit chez-nous: p'tit pas, p'tit pas on va finir par arrivée.
Je joins le fichier pour qu'il puisse éventuellement servir à d'autres.
 

Pièces jointes

  • 2021 Contrôle Facturation Essai 2.xlsm
    101.2 KB · Affichages: 4

patricktoulon

XLDnaute Barbatruc
Bonjour @Piment , @974RE
voila le code de ton userform téléphone au complet
c'est amplement suffisant ;)
VB:
Option Explicit
Dim ws As Worksheet

Private Sub UserForm_Initialize()
    ComboBox2.List() = Array("Mr", "Mme")
    Set ws = Sheets("Controle")    'Attention ce nom doit correspondre au non de l'onglet dans le fichier
    ws.Activate
End Sub

Private Sub Telephone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Me.Telephone.Value = Format(Me.Telephone.Value, "00 00 00 00 00 ")
End Sub

Private Sub Valider_Click() 'bouton valider
    If MsgBox("Etes-vous certain de vouloir Insérer ce nouveau numéro?", vbYesNo, "Demande de confirmation") = vbYes Then
        With ws.ListObjects("Tableau1").ListRows.Add:
            .Range.Resize(, 3) = Array(Telephone, ComboBox2, Nom_Prenom): .Range(1).Select
        End With
        MsgBox ("Numéro Insérer dans le Fichier")    'Informe que le présent contact est insérer dans le tableau
    End If
End Sub
Private Sub Quitter_Click()
    Unload Me    'Ferme le Formulaire
    Accueil.Show 0    'ouvre le Formulaire Accueil
End Sub
 
Dernière édition:

Piment

XLDnaute Occasionnel
Patrick bonjour,
Je te remercie d'avoir "nettoyer" les codes de mon fichier. J'ai procédé à des modifications mineures: suppression de la colonne civilité qui ne me sert pas.
En testant l'UsF "Nouveau Numéro", je me suis rendu compte qu'il faudrait copier la ligne créé dans le Tableau "Top10Conso".Le but étant d'avoir à éviter de manipuler les tableaux manuellement, ce qui est source potentielle d'erreur.
De plus, comme tu pourras le constater j'ai rajouté une feuille "Ventilation" pour répartir les coûts dans des cellules, des Service et une Direction. Aussi, j'aimerais que lorsque l'on valide un montant, ce tableau soit alimenté. Ce tableau va me permettre d'évaluer les conso par Direction, par Service et par Cellule.
Pense-tu que se soit faisable et comment.
Si tu pouvais m'accorder encore un peu de ton temps,
De mon coté, j'essaye, mais mes connaissances sont encore trop faibles pour résoudre ce genre de problèmes.
Merci beaucoup. Ci-joint nouveau fichier.
 

Pièces jointes

  • 2021 Contrôle Facturation Essai 2.xlsm
    110.6 KB · Affichages: 3

Discussions similaires

Réponses
7
Affichages
2 K

Statistiques des forums

Discussions
312 083
Messages
2 085 189
Membres
102 809
dernier inscrit
Sandrine83