Probleme de calcul avec des variables

photoechange

XLDnaute Junior
Bonjour, le Forum
Mes variables sont liées à une feuille Excel et à des textbox

Dim A as single 'textbox1
Dim B as single 'Textbox2
Dim c as single 'Resultat= textbox3

A = Sheets('R1').Range('A1').Value
TextBox1.Value = A

B = Sheets('R1').Range('B1').Value
TextBox1.Value = A

C = (A / B) * 100
C = ((C * 100) \\ 1) / 100 'virgule 2 chiffres
TextBox3.Value = C

Ceci est lié a un bouton sur mon user form
Ca fonctionne sans problème pour le calcul quand les cellules sont renseignées
Ma question
Si l'utilisateur n'a pas entré les valeurs en cellule A1 et B2 et qu'il appuie sur le bouton sa génère l'erreur et le programme s’arrête ce qui est normal car les variables sont à 0
Comment peut on contourner l'erreur par exemple si l'utilisateur appuie sur le bouton et que aucune valeur n’est entrée alors il se passe rien et le programme continu sans provoquer d’erreur
 

PascalXLD

XLDnaute Barbatruc
Modérateur
bonjour

essaies


Dim c as single 'Resultat= textbox3

if not isnumeric(Sheets('R1').Range('A1')) or not isnumeric(Sheets('R1').Range('B1')) then exit sub

TextBox1.Value = Sheets('R1').Range('A1').Value

TextBox2.Value = Sheets('R1').Range('B1').Value

C = (Sheets('R1').Range('A1').Value /Sheets('R1').Range('B1').Value)* 100
C = ((C * 100) 1) / 100 'virgule 2 chiffres
TextBox3.Value = C

Bon courage
 

photoechange

XLDnaute Junior
Bonjour pascal
Je te sollicite car j'ai essayé d'adapter ton code à mon programme mais ça ne fonctionne pas
Je penses pas que c'est ton code car j'ai testé ça marche mais je pense que c'est mon adaptation qui ne fonctionne pas maintenant il ne me calcul plus et à l'inverse il n'affiche aucune erreur

Je te donne le vrai code de mon programme peut être que tu pourra me dépanner
Merci d'avance



Private Sub CommandButton1_Click()
'1er rayon
Dim A As Single 'prevision mensuel
Dim B As Single 'ca réalisé
Dim C As Single 'taux prévu
Dim D As Single 'démarque réalisé
Dim E As Single 'taux actuel
Dim F As Single 'prévision de la demarque
Dim G As Single 'demarque a pas depasser
Dim H As Single 'reste a demarque


'Rayon R1


If ComboBox1 = 'Fevrier' Then
A = Sheets('R1').Range('D8').Value
TextBox1.Value = A
B = Sheets('R1').Range('E8').Value
TextBox2.Value = B
C = Sheets('R1').Range('f8').Value
TextBox6.Value = C
F = (A * C) / 100
TextBox23.Value = F
TextBox6.Value = C
D = Sheets('R1').Range('G8').Value
TextBox4.Value = D
G = (B * C) / 100
G = ((G * 100) \\ 1) / 100
TextBox3.Value = G
H = G - D
H = ((H * 100) \\ 1) / 100
TextBox5.Value = H

'''
If Not IsNumeric(Sheets('R1').Range('G8')) Or Not IsNumeric(Sheets('R1').Range('E8')) Then
Exit Sub
TextBox4.Value = Sheets('R1').Range('G8').Value

TextBox2.Value = Sheets('R1').Range('E8').Value

E = (Sheets('R1').Range('G8').Value / Sheets('R1').Range('E8').Value) * 100

TextBox7.Value = E
 

PascalXLD

XLDnaute Barbatruc
Modérateur
RE

Bon sinon j'avais mal lu ta demande :'alors il se passe rien et le programme continu sans provoquer d’erreur' je m'étais arrété à 'lors il se passe rien' c'est pour cela qu'il y avait le exit sub qui te faisait sortir du programme.

Le mieux c'est de gérer les erreurs

Du genre

If Not IsNumeric(Sheets('R1').Range('G8')) Or Not IsNumeric(Sheets('R1').Range('E8')) Then
Msgbox 'Il manque des nombres. Veuillez remplir avant de continuer
exit sub 'fais sortir
end if
 

Discussions similaires

Réponses
6
Affichages
248
Réponses
1
Affichages
170

Statistiques des forums

Discussions
312 305
Messages
2 087 085
Membres
103 461
dernier inscrit
dams94