• Initiateur de la discussion Initiateur de la discussion jane
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jane

Guest
Bonsoir à tous,

je souhaite creer un ordre tel que :
si la cellule IV11 affiche un message d'erreur de calcul #DIV/0! alors envoie un messagebox puis sors de la macro. Voici ce que j'ai écris, evidemment ça marche pas...

If Range("IV11").Value = Error Then
MsgBox ("Division impossible par 0 ou calcul impossible avec du texte!")
TextBox1.SetFocus
Exit Sub
End If

Merci pour vos idees.
 
Bonsoir Jane

A voir si cela te convient

If IsError(Range("IV11")) Then
MsgBox ("Division impossible par 0 ou calcul impossible avec du texte!")
TextBox1.SetFocus
Exit Sub
End If

smiley_417.gif
 
Merci mais ça marche pas, maintenant peu importe les nombres que j'entre dans ma userform il apparait le messagebox("Division impossible par 0 ou calcul impossible avec du texte!").Je pense qu'il y a incompatibilité :
comme je savais pas comment effectuer mon calcul directement à partir des valeurs rentrées dans les textbox, je suis passée par des cellules et je renvoie le resultat de la cellule IV11 dans la textbox resultat. Voici la totalité de ma macro :

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
If IsError(Range("IV11")) Then
MsgBox ("Division impossible par 0 ou calcul impossible avec du texte!")
TextBox1.SetFocus
Exit Sub
End If
Range("IV1").Value = TextBox1.Value
Range("IV2").Value = TextBox2.Value
Range("IV3").Value = TextBox3.Value
Range("IV4").Value = TextBox4.Value
Range("IV5").Value = TextBox5.Value
Range("IV6").Value = TextBox6.Value
Range("IV7").Value = TextBox7.Value
Range("IV8").Value = TextBox8.Value
Range("IV9").Value = TextBox9.Value
Range("IV10").Value = TextBox10.Value
Range("IV11").Value = "=(100*STDEV(R[-10]C:R[-1]C))/AVERAGE(R[-10]C:R[-1]C)"
TextBox11.Value = Range("IV11").Value
Range("IV1:IV11") = Delete
End Sub
 
Re Jane

Essaye plutot comme ceci

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Range("IV1").Value = TextBox1.Value
Range("IV2").Value = TextBox2.Value
Range("IV3").Value = TextBox3.Value
Range("IV4").Value = TextBox4.Value
Range("IV5").Value = TextBox5.Value
Range("IV6").Value = TextBox6.Value
Range("IV7").Value = TextBox7.Value
Range("IV8").Value = TextBox8.Value
Range("IV9").Value = TextBox9.Value
Range("IV10").Value = TextBox10.Value
Range("IV11").Value = "=(100*STDEV(R[-10]C:R[-1]C))/AVERAGE(R[-10]C:R[-1]C)"
If IsError(Range("IV11")) Then
MsgBox ("Division impossible par 0 ou calcul impossible avec du texte!")
Range("IV1:IV11") = Delete
TextBox1.SetFocus
Exit Sub
End if
TextBox11.Value = Range("IV11").Value
Range("IV1:IV11") = Delete
End Sub
 
Re jane

ta formule en
Range("IV11").Value = "=(100*STDEV(R[-10]C:R[-1]C))/AVERAGE(R[-10]C:R[-1]C)"

devait deja avec les cellules vides te donne un erreur

en deplacant le test apres la saisit la le calcul peut s'effectuer

Bonne fin de soirée

smiley_417.gif
 
Encore une petite question, est ce que tu sais comment faire pour tranferer une macro? j'veux dire, là je bricole sur mon pc mais c'est que j'aimerais aussi apporter ma macro au boulot sans à avoir à tout recopier (userform, macro...) et en la protegeant des intrus....est ce possible??
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
807
Réponses
3
Affichages
835
Réponses
3
Affichages
774
Réponses
6
Affichages
643
Retour