Formules dans UserForm

Bonsoir le forum

J'ai à partir de l'exemple sur la feuille du document que je place en pièce jointe réaliser un "UserForm". Cet outil permet de calculer en fonction de diamètres le taux d'occupation de câbles dans une conduite

J'ai plusieurs questions

1- Dans l'"UserForm" je saisie des nombres dans les "TextBox" de la colonnes de gauche, automatiquement j'ai le résultat d'une formule qui s'affiche dans le "TextBox" de la colonne de droite, puis en "TextBox62" je fais la somme de la colonne de droite. A la vue du code correspondant à cette somme, n'y a-t-il pas moyen d'écrire le code du "TextBox2" afin d'éviter de passer par les "TextBox" de la colonne de droite? voir par la suite éviter les calculs dans les "TexteBox" 62 et 63 (voir formule dans la feuille excel) là ça serait le top

2- Une fois cette somme réalisée, je lui applique une autre formule en fonction de la valeur que je choisis dans la "ComboBox1" en arrondissant le résultat. Mon souci, c'est quand j'ai un résultat inférieur à "1", excel m'affiche "0" existe-t-il un moyen de définir le résultat comme si <0 alors afficher par défaut "1".

3-j'ai définis les valeurs pour la "ComboBox1" dans le VBA car je veux que ces valeurs soient par défaut mais existe-t-il un moyen de pouvoir saisir si besoin une valeur autre?

D'avance je vous remercie pour votre aide et votre disponibilité

Bonjour eole-33,

j'ai revu une partie du code en suivant un principe : écrire qu'une seule fois vos formules.

Pour supprimer les textbox demandées, utilisation d'un tableau déclaré publique.

Voyez si cela vous convient pour commencer.

Bonjour le forum

Bonjour Thihii et merci pour ton aide

Super pour la formule et la suppression des "TextBox" mais le calcul ne s'effectue pas dans le "TextBox61"

Il y a toujours la valeur "1"

autrement c'est super

Bonjour,

Oui, j'avais remarqué suivant certaines valeurs saisies, (valeurs inférieurs à 40).

Pour vérifier, j'avais modifié votre formule comme suit : (division arrondi au centième, puis multiplié par 100)

Sub calculerRemplis()
'
'   mise à jour du calcul final, avec l'affichage 1 pour valeur inférieur à 1
'
    If valeur(21) > 0 Then valeur(22) = Round(valeur(0) / valeur(21), 2) * 100
    If valeur(22) < 1 Then valeur(22) = 1 'si inferieur à 1, afficher 1
    TextBox61.Value = valeur(22)
End Sub

à vous de voir si les résultats sont plus probants.

Re,

une seconde version, avec votre formule modifié comme expliqué ci-dessus,

puis les valeurs de la combobox prisent dans l'onglet, colonne D.

Bonsoir le forum

Bonsoir Thihii

Un grand merci pour ton aide et pour ta disponibilité

c'est super

J'ai remis la liste des diamètres dans le code tant pis si c'est bloqué sur cette liste et qu'il n'y est pas de possibilité d'en rajouter

En fait je veux pouvoir mettre l'"UserForm" dans le classeur personnel de macro pour qu'il soit utilisable directement avec excel

Ce que tu as fais est super

Merci beaucoup

Merci eole-33, ce fut un plaisir de pouvoir donner une idée qui te convienne.

Rechercher des sujets similaires à "formules userform"