Userforme a terminer

cj welch

XLDnaute Occasionnel
bonjour,

j'ai construit un userform qui se lance par un bouton appellé régul.
Seulement, je n'arrive pas à le terminer car mes connaissances en vba sont faible.

les explications sont sur la feuille

j'aurais besions de vos lumières

merci par avance
 

Pièces jointes

  • Véhicule régul.zip
    45.2 KB · Affichages: 183
  • Véhicule régul.zip
    45.2 KB · Affichages: 183
  • Véhicule régul.zip
    45.2 KB · Affichages: 178

ledzepfred

XLDnaute Impliqué
Re : Userforme a terminer

salut cjwelch,

quel bordel pour déchiffrer la procédure du user, mais une fois qu'on a compris le principe c'est pas mal.

les formules dans les textbox régul reviennent à donner la valeur absolue de a-b ou b-a, il suffit donc d'ajouter dans la formule existante Abs()
ça c'est fait
pour les formules dans dispo, j'ai du ajouter une condition dans les calculs et deux textbox nommé 62 et 44 qui sont invisibles sinon le code plante (j'ai renommé les textbox dispo pour que ça colle à ton code)
pour le textbox64 (dispo total), je n'arrive pas à trouver le bon code.


Quelqu'un de plus doué pourra surement t'aider

A+

http://cjoint.com/?klbOyU15Gs
 
Dernière édition:

ledzepfred

XLDnaute Impliqué
Re : Userforme a terminer

re,

je me cite
Quelqu'un de plus doué pourra surement t'aider

je suis peut-être pas doué mais je suis très têtu et je lache rien!!

ci-joint le fichier V7.

Pour que ça fonctionne il suffisait de vider textbox62 dans calcul et d'ajouter deux lignes call total (6) dans lancecalcul et Call effacer(6, 4) dans vider

http://cjoint.com/?klbJuCzi5g

a+
 
Dernière édition:

cj welch

XLDnaute Occasionnel
Re : Userforme a terminer

Salut ledzedfred


Merci encore pour ton aide.

j'ai fait une erreur dans les formules SI. Pourrais tu les enlever et revenir a l'ancien calcul ; mais en revenche il faudrait conserver la formule C-D. En effet, les signes des calculs doivent suivres et avec la formule si, ils ne suivent plus.

D'autre part, pourrais tu supprimer le bouton calcul, il avait été elaboré pour qu'on ait dans chaque textbox, le format "0,00". Comme il est difficile d'avoir ce format automatiquement après la saisie, il vaut mieux y renoncer.

Merci
 
Dernière édition:

cj welch

XLDnaute Occasionnel
Re : Userforme a terminer

salut ledzepfred,

merci de ton aide, les règul sont ok

Par contre,J'ai testé l'user et j'ai remarqué que lorsque on selectionne une personne et qu'on valide,il y a un message d'erreur qui apparait ("Erreur d'exécution 13" incompatibilité de type) et cela renvoi a la ligne :
.Range("M" & dl1) = CCur(Me.Controls("TextBox14").Value)
Ne faudrait il pas mettre un message du type, "vous devez remplir le tableau".

De plus, serait il possible, sur la ligne Utilitaire, de pouvoir écrire un chiffre sur la texbox51 et que la formule c-d fonctionne. je viens de penser à un truc, peut on mettre 2 case d'option :
une si on choisie le %
une si on choisie un nombre

Enfin, peut on arrondir a 2 chiffres après la virgule, la colonne régul (d)

Enfin, est il possible que les % choisis reste en mémoire et que si on réouvre l'userform, les données de régul d'une personne apparaissent dans les textbox appropriés.

Merci de ton aide
 
Dernière édition:

ledzepfred

XLDnaute Impliqué
Re : Userforme a terminer

salut cj welch,

voila m'sieur : http://cjoint.com/?koaijlSver
Tu n'auras plus une erreur mais un message (tableau incomplet)

format de régul à deux chiffres : ok

pour la régul utilitaire il suffisait de mettre la valeur false la propriété locked du textbox51 : ok

pour les deux cases d'option, soit plus précis, que doit-il se passer quand on choisit % ou nombre (quelles textbox sont à modifier?), de plus les réguls de chacune des personnes ne peuvent être conservés dans le userform sachant qu'il est déchargé à la fermeture et rechargé à l'ouverture, la seule façon de procéder et de mettre des réguls dans le fichier qui s'afficheront automatiquement dans l'userform si on lui dit où se trouve ces données (vu le fichier ce n'est possible dans l'état actuel pour le total régul)

Deux petites questions
J'ai remarqué que les colonnes HIJKL du feuillet commande ne s'implémentaient pas quand on clique sur valider. Est-ce normal?
Pourquoi tu ne souhaites pas calculer le total Cyclo

a+
 
Dernière édition:

cj welch

XLDnaute Occasionnel
Re : Userforme a terminer

Salut ledzepfred,

je viens de tester le fichier, on approche du but

la colonne régul a de chiffre super (si on pouvais faire de même pour les autres ça serais encore mieux), mais je me suis mal exprimé, je voudrais l'arrondir a 2 chiffres après la virgule sur la colonne régul.

j'ai un nouveau message d'erreur qui s'affiche quand je remplis la ligne véhicule et que je valide : "erreur d'exécution 424:eek:bjet requis" et ça me renvoi a la ligne
CommandButton5.Visible = True (je viens de trouver la solution, j'ai supprimé la ligne et çà marche).

Pour la textbox51, je voudrais pouvoir la renseigner manuellement et que le calcul c-d se façe, là ça ne marche pas. L'histoire de la case d'option est justement de choisir soit le % soit un nombre dans une nouvelle textbox. ainsi le calcul sur la textbox51 resterais automatique.

Concernant tes questions :
Pour le total cyclo, je pense que tu parle de la colonne (e), je ne reverse pas de com.
Les colonnes HIJKL sont renseignés manuellement, l'user sert uniquement pour les régularisations car c'est a partie de ces colonnes principales que la facturations est établis.

Cordialement

A+
 
Dernière édition:

ledzepfred

XLDnaute Impliqué
Re : Userforme a terminer

la colonne régul a de chiffre super (si on pouvais faire de même pour les autres ça serais encore mieux)
je vais essayer dès que j'en aurais le temps
mais je me suis mal exprimé, je voudrais l'arrondir a 2 chiffres après la virgule sur la colonne régul.

ok ben ça tu peux le faire il suffit de sélectionner ta colonne et de mettre le format à 2 chiffres après la virgule (inutile de le faire en vba)

Pour la textbox51, je voudrais pouvoir la renseigner manuellement et que le calcul c-d se façe, là ça ne marche pas. L'histoire de la case d'option est justement de choisir soit le % soit un nombre dans une nouvelle textbox. ainsi le calcul sur la textbox51 resterais automatique.
bizarre vérifies la propriété locked du textbox ça devrait marcher si locked =false
En gros si tu coches % tu peux renseigner les textbox % et si tu coches nombre tu tu peux renseigner les textbox régul
C'est bien ça

A+
 

cj welch

XLDnaute Occasionnel
Re : Userforme a terminer

Salut ledzepfred,

pour la textbox51, je veins a nouveau de refaire un essai et je te confirme qu'on peut rentrer un chiffre mais que le calcul ne se fait pas.

ok ben ça tu peux le faire il suffit de sélectionner ta colonne et de mettre le format à 2 chiffres après la virgule (inutile de le faire en vba)

je me suis encore mal exprimer, excuse moi, je veut utiliser la formule ARRONDI. Si je met la formule "arrondi" dans la feuille commande, lorsque je valide l'user, la formule va etre remplaçé par le nombre, tu crois pas ?


En gros si tu coches % tu peux renseigner les textbox % et si tu coches nombre tu tu peux renseigner les textbox régul
C'est bien ça

Pour ma part, je mettrais
une case d'option en face du textebox41 (%)
une autre case dans un nouveau textbox placé en dessous du textbox 41
et lorsque on choisi l'une ou l'autre des option le résultat va en textbox51

Voila j'espère avoir été plus claire dans mes souhait.

Cordialement

A+
 

ledzepfred

XLDnaute Impliqué
Re : Userforme a terminer

Salut cjwelch,

pour l'arrondi, grâce à l'enregistreur de macro (que je te recommande...vivement), j'ai appris que la fonction ARRONDISUP s'écrit RoundUp(valeur à arrondir, nb de caractères après la virgule)
donc sachant que tu veux arrondir la valeur régul (en P dans le feuillet commande) il suffit de remplacer dans le code valider_click
.Range("P" & dl1) = CCur(Me.Controls("TextBox54").Value)
par .Range("P" & dl1) = Application.WorksheetFunction.RoundUp(CCur(Me.Controls("TextBox54").Value), 2)

vu le pb pur le calcul lorsq"uon modifie le textbox51 mais n'ait pas le temps de me pencher sur le pb (pour l'instant pas de solution simple à te proposer)
pareil pour les cases d'option.

a+
 

cj welch

XLDnaute Occasionnel
Re : Userforme a terminer

salut ledzepfred,

j'ai pensé à une chose, il serais plus simple de supprimer la textbox41 et son bouton.
Ainsi on rentre le chiffre sur la textbox51 et on fait faire le calcul en textbox61 (e) c-d

Quand pense tu ? cella est il plus simple ?

Cordialement

A+
 

ledzepfred

XLDnaute Impliqué
Re : Userforme a terminer

salut cj welch,
j'ai pensé à une chose, il serais plus simple de supprimer la textbox41 et son bouton.
Ainsi on rentre le chiffre sur la textbox51 et on fait faire le calcul en textbox61 (e) c-d

Quand pense tu ? cella est il plus simple ?
A+

oui c'est plus simple, tu trouveras ci-joint le fichier modifié, regardes si cela te convient.

a+
 

cj welch

XLDnaute Occasionnel
Re : Userforme a terminer

salut ledzepfred,

je viens de tester la dernière version, on approche du but.

j'ai relevé 2 petit problème:

- Au niveau du bouton valider, une fois qu'on la utiliser, on ne peut plus le réutiliser, puisqu'il disparait. j'ai essayé avec la fenetre propriété de trouver la solution mais je n'y suis pas arrivé.

- Au niveau de la colonne %, si on inscrit la valeur 0 et qu'on valide, un message d'erreur apparait.

A+
 

Discussions similaires

Réponses
5
Affichages
310

Statistiques des forums

Discussions
312 164
Messages
2 085 872
Membres
103 007
dernier inscrit
salma_hayek