Autres VBA: Detecter l'erreur VBA

agarba

XLDnaute Nouveau
Bonjour,
j'ai un code qui ne marche pas. Aidez moi à detecter l'erreur.

Private Sub cb_eff_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
tb_bid.Text = ""
tb_ask.Text = ""
tb_ee.Text = ""
tb_epd.Text = ""
tb_pld.Text = ""
tb_ple.Text = ""
tb_mt.Text = ""
tb_matur.Text = ""
tb_marg.Text = ""
End Sub


Private Sub cb_quit_Click()
End

End Sub

Private Sub cb_val_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim pt1 As Double, pt2 As Double, mg1 As Double, mg2 As Double

b = tb_bid.Value
a = tb_ask.Value
ee = tb_ee.Value
ed = tb_epd.Value
pd = tb_pld.Value
pe = tb_ple.Value
mt = tb_mt.Value
n = tb_matur.Value
g = tb_marg.Value

pt1 = a * (1 + ed * n / 36000) / (1 + pe * n / 36000) - a
mg1 = g * Abs(pt1)
pt2 = b * (1 + pd * n / 36000) / (1 + ee * n / 36000) - b
mg2 = g * Abs(pt2)

If op_Achat = True Then
p = a + pt1 + mg1
cv = p * mt
Else
p = b + pt2 - mg2
cv = p * mt
End If


End Sub
 

Fred0o

XLDnaute Barbatruc
Bonjour agarba

Nombre d'entre-nous ne prendront meme pas la peine de te répondre.
Nous n'avons d'ordres a recevoir de personne et un s'il-vous plait serait le bienvenu puisque tu semble avoir besoin d'aide. RIEN ne nous oblige a t'aider.
Je t'invite donc cordialement a lire avec attention la charte du forum et a l'appliquer.

Pour ce qui est de ton code qui plante, a sa lecture, rien ne permet de savoir ce qui ne fonctionne pas car il est sorti de son contexte, nous n'avons pas les USF qui vont avec ni les formats, ne savons pas ce qui plante, a quel moment, quel est le message d'erreur, Etc.

Bref, si tu as vraiment besoin d'aide, fais preuve d'humilite, sois poli et respectueux, poste un fichier exemple sans données confidentielles et explique clairement quel est ton problème.
 
Dernière édition:

agarba

XLDnaute Nouveau
Bonjour agarba

Nombre d'entre-nous ne prendront meme pas la peine de te répondre.
Nous n'avons d'ordres a recevoir de personne et un s'il-vous plait serait le bienvenu puisque tu semble avoir besoin d'aide. RIEN ne nous oblige a t'aider.
Je t'invite donc cordialement a lire avec attention la charte du forum et a l'appliquer.

Pour ce qui est de ton code qui plante, a sa lecture, rien ne permet de savoir ce qui ne fonctionne pas car il est sorti de son contexte, nous n'avons pas les USF qui vont avec ni les formats, ne savons pas ce qui plante, a quel moment, quel est le message d'erreur, Etc.

Bref, si tu as vraiment besoin d'aide, fais preuve d'humilite, sois poli et respectueux, poste un fichier exemple sans données confidentielles et explique clairement quel est ton problème.
Monsieur, je ne vous comprends pas. Il me semble que votre message me traite d'un irespectueux. Si tel est le cas je ne vous le permet pas.
Je ne suis pas un gamin à qui il faut parler n'importe comment.
 

Etoto

XLDnaute Barbatruc
Bonjour,

Je pense qu'il faudrait un fichier joint mais vous avez pas besoin de vous énervez vous deux. (D'accord le seul modo est en vacances mais faut pas en profiter ;)😅). mais ton code VBA a l'air bon c'est pour cela qu'il nous faut le fichier, pour analyser toutes les variables.

Merci d'avance
 

Fred0o

XLDnaute Barbatruc
Bonjour agarba, Etoto

Sur le forum, nous ne sommes pas non plus des gamins et comme tout un chacun, aimons les contacts humains et la politesse qui va avec. Or, j'observe, Monsieur (ou madame) agarba, que malgré mon précédent message peut-être un peu maladroit, vous fournissez aucun contexte ni fichier exemple qui nous permettrait de fournir une réponse appropriée à votre demande.
Lorsque je vois le nombre de réponses que vous avez reçu, je pense que sans un peu plus d'explications, sans ce fameux fichier exemple et sans un minimum d'humilité, vous restiez définitivement avec votre question.
Mais sachez que je suis disposé à vous fournir de l'aide (si c'est dans mes compétences) ;)
 

Jam

XLDnaute Accro
Bonjour,
j'ai un code qui ne marche pas. Aidez moi à detecter l'erreur.

Private Sub cb_eff_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
tb_bid.Text = ""
tb_ask.Text = ""
tb_ee.Text = ""
tb_epd.Text = ""
tb_pld.Text = ""
tb_ple.Text = ""
tb_mt.Text = ""
tb_matur.Text = ""
tb_marg.Text = ""
End Sub


Private Sub cb_quit_Click()
End

End Sub

Private Sub cb_val_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim pt1 As Double, pt2 As Double, mg1 As Double, mg2 As Double

b = tb_bid.Value
a = tb_ask.Value
ee = tb_ee.Value
ed = tb_epd.Value
pd = tb_pld.Value
pe = tb_ple.Value
mt = tb_mt.Value
n = tb_matur.Value
g = tb_marg.Value

pt1 = a * (1 + ed * n / 36000) / (1 + pe * n / 36000) - a
mg1 = g * Abs(pt1)
pt2 = b * (1 + pd * n / 36000) / (1 + ee * n / 36000) - b
mg2 = g * Abs(pt2)

If op_Achat = True Then
p = a + pt1 + mg1
cv = p * mt
Else
p = b + pt2 - mg2
cv = p * mt
End If


End Sub
Salut agarba,

A défaut de vous donner la solution (ça tombe pas du ciel, hein ;)) quelques suggestions:
- Le mode Pas à Pas est bien pour comprendre ce qu'il se passe dans votre code. Vous pouvez afficher la fenêtre "Variables locales" dans le menu Affichage du VBE (moi, je le fais par défaut) pour suivre les modifications des variables que prend le code au cours de son exécution.
- Définir ses variables est une option pour laquelle vous devriez opter (dans le VBE, menu Outils > Options, onglet Editeur, cocher la case "Déclaration des variables obligatoire"), car je pense que le problème vient de là.
- Text - Value....🤔

Et je rejoins Fred0o concernant la façon dont a été posé votre question. C'est comme lorsque vous allez chez votre garagiste vous ne lui dites pas: "Ma voiture est en panne ! Débrouillez-vous pour me dire pourquoi".

Bon courage
 

agarba

XLDnaute Nouveau
Bonjour agarba, Etoto

Sur le forum, nous ne sommes pas non plus des gamins et comme tout un chacun, aimons les contacts humains et la politesse qui va avec. Or, j'observe, Monsieur (ou madame) agarba, que malgré mon précédent message peut-être un peu maladroit, vous fournissez aucun contexte ni fichier exemple qui nous permettrait de fournir une réponse appropriée à votre demande.
Lorsque je vois le nombre de réponses que vous avez reçu, je pense que sans un peu plus d'explications, sans ce fameux fichier exemple et sans un minimum d'humilité, vous restiez définitivement avec votre question.
Mais sachez que je suis disposé à vous fournir de l'aide (si c'est dans mes compétences) ;)
Bonjour,
Ne vous inquietez pas, j'ai deja detecté l'erreur. et mon code marche tres bien