Calcul avec UserForm

Bonjour à toutes et à tous,

Mon besoin :

Je souhaiterai faire une opération avec un userform.

Je voudrais que la colonne $W2 divise le nombre inscrit dans le userform. ( valeur inscrite à la main car celle-ci peut changer)

Je n'aurai qu'à appuyer sur le "commandButton" pour que l'opération se fasse en colonne $X2 jusqu'à la dernière valeur de la colonne W.

Merci d'avance pour votre aide! :)

Bonjour,

Peux tu joindre ton fichier exemple avec le code déjà produit ? Ce sera plus simple de faire une proposition basée sur et adaptée à l'existant.

Bonjour,

Le code que j'ai commencé est

Sub CommandButton ()
Dim SS as Integer

SS = $W2 / TextBox.value 

End Sub

Je l'ai intégré au commandbutton hors ça ne fait rien.. ^^' [Logique mathématiques mais pas vba apparemment]

Le problème ne vient pas de la logique VBA, c'est qu'il faut lui expliquer correctement !

$W2 pour VBA ne correspond à rien, si tu veux lui indiquer la valeur contenue dans cette cellule, ce serait plutôt Range("W3").Value ou Cells(3, 23).Value. Ensuite pour appliquer le calcul à toute la colonne, il faut utiliser une boucle, par exemple :

Sub CommandButton ()
Dim Lig as Long

For Lig = 2 To Range("W" & Rows.Count).End(xlUp).Row
   Range("X" & Lig) = Range("W" & Lig) / TextBox.value 
Next Lig

End Sub

La feuille concernée n'étant pas précisée, il s'agit par défaut de la feuille active au moment de l'exécution du code.

Merci pour votre réponse !

Seulement, le calcul ne s'exécute qu'une fois sur 3...

Bonjour,

Sans fichier de test pour expérimenter le problème, je ne pourrais guère faire mieux !

Quand j'appuie sur le bouton "calcul SS" cela ne fait rien

mais quand je passe par le code du commandbutton, cela se fait

le problème n'est il pas au niveau de l'appel du userform?

Bonjour,

C'est que tu n'as pas prêté attention à la dernière ligne de ma réponse : la feuille n'étant pas précisée dans le code, il s'agit de la feuille active par défaut. Donc lorsque tu lances l'UserForm depuis la feuille Calculs, le code réalise l'opération sur cette même feuille. Version révisée :

Sub CommandButton1_Click()

Dim Lig As Long

Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
For Lig = 2 To Sheets("Résultats").Range("W" & Rows.Count).End(xlUp).Row
   Sheets("Résultats").Range("X" & Lig) = Sheets("Résultats").Range("W" & Lig) / TextBox1.Value
Next Lig
Application.Calculation = xlCalculationAutomatic

End Sub

Bonjour,

Merci beaucoup ! cela fonctionne c'est super !

Tout fonctionne! :)

Rechercher des sujets similaires à "calcul userform"