Afficher le format de l'heure dans textbox, calculer 2 textbox

21explication.docx (13.15 Ko)

Bonjour,
Voir fichier joint. Les explications directement dans le message, c'était mieux, cela permet tout de suite de voir l'objet de la demande ...

Bonjour,

Merci de détailler ton retour et/ou tes demandes directement dans le post et de ne mettre en pièce(s) jointe(s) que le(s) fichier(s) Excel et annexes.

Au 1er post, je t'ai répondu en te faisant cette même remarque. Merci de lire la "Charte à lire avant de poster".

Donc là, je ne sais pas si ce que je t'ai envoyé te convient ou pas et il faudrait (je ne le ferai pas) que j'aille ouvrir les fichiers pour le savoir ...

Bonjour, et je m'excuse j'ai cru que c'est mieux d'expliquer avec impr. écran

tout va bien avec mon fichier sauf que lors de recherche un message de Débogage s'affiche :

D.Cells(1, 9) = Format(C(Lg, 9), "dd/mm/yyyy")

S'il est possible que lors d'insertion des données dès le début jusqu'au TBox15 un message avec son s'affiche selon cette formule:

si TBox17 (Km/jour) >= 250 alors un message s'affiche "Seuil de Kilométrage par jour est dépassé" et la couleur de la valeur en rouge

si non rien à afficher et je continu l'insertion de reste des données.

Cordialement,

Bonjour,

Voir fichier joint. Pour l'affichage (ajout dans TBoxEnCascade), je te laisse ajuster l'affichage du message et la mise en exergue en rouge car TBox15 est avant que le KM journalier ne soit calculé ...

De même il faudra voir si tu veux mettre en rouge le TBox17 lorsque tu charges le cartouche à partir de la ListView et que le KM journalier est >= à 250.

Bonjour, svp si vous pouvez m'aider à résoudre le problème de personnaliser imagelist

j'ai essayer beaucoup des solutions mais même problème.

cordialement,

erreur imagelist

Bonjour

en plus le problème d'imagelist qui ne peux pas être personnalisé sur mon userform, j'ai constaté que lorsque j'insère des données

la cellule "Recette Total sur excel la colonne V 'Recette Total" m'affiche des 0,000" et pas le total de la colonne S "Montant Total". Merci

Bonjour,

Je vais regarder en détail mais déjà un premier retour. Un TextBox est un contrôle qui manipule du texte donc quand tu enregistres directement la valeur "TextBox.Value" tu enregistres du texte même si la valeur a l'apparence d'un numérique ou d'une date. Pour le pbm de la somme, tu peux le voir sur la feuille Feuil1, les cellules des colonnes montant ont un petit triangle vert en haut à gauche des cellules et quand tu sélectionnes une cellule, une petite icône avec un point ! est affichée sur fond jaune, si tu mets le curseur dessus ou si tu ouvres la liste, tu verras "Nombre stocké sous forme de texte". C'est pour cela que la somme affiche 0.

Pour remédier à ce problème, il faut stocker les valeurs en utilisant une fonction de conversion adapté au contenu souhaité : MaCelluleDate.Value = CDtate(TextBox.Value), MaCelluleMonetaire.Value = CDbl(TextBox.Value), etc. (il y a toute une panoplie de fonctions de conversion). Il faut donc adapter ton code car pour l'instant tu fais une boucle (For i = 1 To 21) et tu stockes directement. La boucle a l'avantage d'éviter l'écriture de 21 lignes donc il faut garder le principe mais la modifier. Pour l'instant tu te bases sur le n° du TextBox, inconvénient (à mon sens) tu n'as pas l'info de la donnée à laquelle il se rapporte. Pers et ça n'engage que moi, je préfère nommer mes TextBox, 1 en les préfixant avec un code (ici "tb") qui me permet de savoir quel type d'objet il s'agit et avec un nom court mais significatif, exemple pour le TextBox de la date de début "TBox9" j'aurai "tbDatDeb" qui me donne à la fois le type de contrôle "tb", la donnée à laquelle il se rapporte "DatDeb" et du coup le type de donnée qu'il stocke.

Le fait qu'il porte un nom significatif ne t'empêche pas d'avoir une boucle dans laquelle tu peux formater l'objet selon le type de donnée. En général, j'utilises 3 tableaux, le 1er avec le nom des objets, le 2ème avec les types et le 3ème avec les formats. J'initialise ces 3 tableaux dans la procédure Initialize du UserForm. Exemple :

' Dans un module commun ou dans le module du UserForm tu peux définir des constantes de formatage
Public Const fmtDate = "DD/MM/YYYY"
Public Const fmtHeure = "hh:mm"
Public Const fmtEntier = "# ##0"
Public Const fmtMontant = "",##0.00"    ' , = séparateur des milliers et . = séparateur décimal

Private Sub UserForm_Initialize()
Dim acCtrlNoms as string
Dim acCtrlTypes as string
    ' Initialisation des tableaux liés aux contrôles
    acCtrlNoms = Array("tbDatDeb", "tbHDeb", "tbDatFin", "tbHFin", "tbNjJ", "tbKmDeb", "tbMtJour", etc.)
   ' tu peux utiliser les constantes de type ou définir tes propres valeurs ou mixer (le type heure est encapsulé dans vbDate donc ne permet pas de les distinguer d'où le mixage)
    acCtrlTypes = Array(vbDate, "Heure", vbDate, "Heure", vbInteger, vbLong, vbCurrency ...)
    acCtrlFormats = Array(fmtDate, fmtHeure, fmtDate, fmtHeure, fmtEntier, fmtEntier, fmtLong, ...)

Ensuite tu peux utiliser ces tableaux pour faire des contrôles à la saisie, au stockage des valeurs, etc. Je ne développe pas plus car (c'est déjà un peu long ) et je ne sais pas si tu es intéressé, si oui, dits le moi et j'adapterai une partie du code en mettant en œuvre le principe sur 2 ou 3 contrôles et je te repasserai la main.

Pour l'imagelist, je regarde mais ça ressemble à un pbm de référencement du contrôle, si c'est ça il est fort probable que je n'ai pas le souci sur mon pc ...

Bonsoir, et merci pour votre retour et explication, oui je suis intéressé à modifier les valeurs des cellules.

vous m'avez aider déjà à finaliser un fichier et vraiment je l'ai améliorer mais toujours on a besoin d'aide de votre part :

je vous explique et je vous joint le fichier :

1) tout d'abord mon fichier contient deux userform nommés (Booking et OLA) et deux modules (Module 1 et 3)

je commence par le userfom OLA : à chaque fois que j'insère des données le TBox1 qui "Code" ne change pas de numéro suivant, en plus le TBox 17 "Km/Jour qui affiche un message lors de l'insertion reste en couleur rouge même après l'insertion.

Userform Booking : j'ai essayé de changer les lettres de déclaration car j'avais un problème mais toujours j'ai l'erreur de débogage et je n'arrive pas d'afficher le userform avec listview.

Merci de m'aider à résoudre ces points.

Cordialement,

Bonjour,

J'ai regardé OLA, il y a un point qui m'interroge et je ne voudrai pas passer à côté de quelque chose : Tu as une liste déroulante nommé "Combo" qui contient la liste des n° de ligne des données sources. C'est redondant avec le "TBox1" et en plus "Combo" n'est pas toujours alimenté. J'ai l'impression qu'elle ne sert à rien, zette zone "Combo" est elle vraiment utile ?

Tu as un bouton [Valider] et un bouton [Modifier], il me semble qu'un seul suffirait [Valider] : soit ajout d'une occurrence dans le tableau si l'enregistrement n'existe pas, soit modification s'il existe. Actuellement, si tu fais [Valider] après avoir rapatrié les données de la ListView, tu recrées une nouvelle occurrence avec le même n° de [Code].

Bonsoir, je suis tout à fait d'accord avec vous

malheureusement j'ai essayé de supprimer le "Combo" avec ces code mais toujours j'ai des problèmes

merci de m'aider à finaliser mon fichier avec les deux userform OLA et Booking (message précédent envoyé).

Cordialement,

Bonjour,

J'ai (je l'espère ) corrigé les problèmes du formulaire OLA. Il n'y a plus qu'un bouton "Valider" par contre je t'ai ajouté un bouton "Nouveau" pour avoir un cartouche vide prêt pour une nouvelle saisie. J'ai également supprimé le "Combo". Tu as des formats avec 3 décimales pour les montants, c'est volontaire ?

Je te laisse tester le formulaire OLA, regarder le code et me dire si tu modifies l'autre formulaire ou si tu veux que je le fasse.

Bonsoir,

vraiment merci beaucoup j'ai testé le formulaire tout va bien. Merci de corriger le formulaire "Booking" pour finaliser tout le fichier.

Cordialement,

Bonjour, j'espère que vous allez bien, oui merci de m'aider à finaliser le formulaire "Booking" car j'ai toujours un message de débogage.

Cordialement, 👍

Quel message ? et en mode pas à pas, vous n'identifiez pas l'erreur ?

Bonsoir,

Svp j'ai cette erreur dans le formulaire Booking lors de lancement à partir de bouton de commande "Location"

même "ListeView1" est supprimé dans le formulaire

erreurde compilation

peut-être qu'avec le fichier ce serait pus simple pour répondre ...

Bonjour,

Rappel c'est concernant le message d'erreur de compilation du formulaire "OLA".

Cordialement,

Bonjour,

Vous aviez testé le fichier quand je vous l'ai envoyé et vous avez répondu qu'il fonctionnait bien. J'ai repris le fichier de votre dernier post et je n'ai aucun message d'erreur, ni en cliquant sur le bouton "Location", ni en compilant le code.

Donc à priori vous avez fait quelque chose entre temps qui provoque ce dysfonctionnement. Dans l'éditeur VB, menu "Outils" / "Contrôles supplémentaires", vérifier que "Microsoft Listview ..." (voir ci-dessous) est bien coché et si ce n'est pas le cas, cochez le.

image

Cela corrige t il le problème ?

Rechercher des sujets similaires à "afficher format heure textbox calculer"