Macro - Run time error 13 Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 27 novembre 2018, 20:06

Bonjour,

Il a quelques jours j'ai fait une macro qui marche très bien grâce aux experts de ce forum. Je me suis lancé sur une autre macro similaire mais elle ne marche pas, j'obtiens une erreur: "Run time error 13".
SVP, pouvez-vous me donner un coup de main? :wink:

Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then CheckBox2.Value = False

If CheckBox1.Value = True Then [G7] = "Glutamic acid (g/Kg) in FP"

If CheckBox1.Value = True Then [E7] = "REGULATION (EC) No 1333/2008: Group I"

If Not CheckBox1 Then [E7:H9].ClearContents: Exit Sub

If IsNumeric([E3:E5]) And [E3] <> 0 Then [E8] = Application.Sum([D3:D5]) * [H6] * 10

If [E3:E5] = "" Then [E9] = Application.Sum([D3:D5]) * ([J9] / 100) * 10

End Sub


Merci par avance.

Lilette
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 4'849
Appréciations reçues : 239
Inscrit le : 16 mars 2017
Version d'Excel : 2010 sur PC

Message par i20100 » 27 novembre 2018, 20:36

Bonjour Lilette,

Est ce que les CheckBox sont sur une Feuille ou sur un UserForm ?
Merci! de faire un clic sur le bouton résolu pour nous aider à t'aider.
isabelle
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 27 novembre 2018, 20:48

Bonjour Sabv,

C'est dans un UserForm.

Merci.
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 4'849
Appréciations reçues : 239
Inscrit le : 16 mars 2017
Version d'Excel : 2010 sur PC

Message par i20100 » 27 novembre 2018, 21:24

re,

à tester,
Private Sub CheckBox1_Click()
Set sh = Sheets("Feuil3")    'à adapter

If CheckBox1.Value = True Then
  sh.[G7] = "Glutamic acid (g/Kg) in FP"
  sh.[E7] = "REGULATION (EC) No 1333/2008: Group I"
  CheckBox2.Value = False
Else
  sh.[E7:H9].ClearContents: Exit Sub
End If

For Each c In sh.[E3:E5]
  If IsNumeric(c) And c <> 0 Then x = 1 Else x = 0
Next
  
If x = 1 Then
  sh.[E8] = Application.Sum(sh.[D3:D5]) * sh.[H6] * 10: x = 0
  sh.[E9] = Application.Sum(sh.[D3:D5]) * (sh.[J9] / 100) * 10
End If
End Sub
Merci! de faire un clic sur le bouton résolu pour nous aider à t'aider.
isabelle
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 28 novembre 2018, 11:32

Salut Sabv,

Merci de ton retour.
J’ai testé et le message d’erreur n’appar plus ce qui est très bien :) par contre les cellules E8 ou E9 ne donnent pas le calcul, elles restent vides.
Je n’arrive pas à trouver pourquoi je n’ai pas de résultat.
J’espère que vous pouvez m’aider à nouveau.

Merci.
Lilette
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 4'849
Appréciations reçues : 239
Inscrit le : 16 mars 2017
Version d'Excel : 2010 sur PC

Message par i20100 » 28 novembre 2018, 15:46

re,

peux tu joindre ton fichier ?
Merci! de faire un clic sur le bouton résolu pour nous aider à t'aider.
isabelle
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 28 novembre 2018, 20:33

Salut Isabelle,

En pj le fichier.
Merci.

Lilette
Multi tool_Meat_v3.2.xlsm
lilette
(202.68 Kio) Téléchargé 14 fois
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 4'849
Appréciations reçues : 239
Inscrit le : 16 mars 2017
Version d'Excel : 2010 sur PC

Message par i20100 » 28 novembre 2018, 21:00

re,

votre fichier est protégé pa mot de passe :x
Merci! de faire un clic sur le bouton résolu pour nous aider à t'aider.
isabelle
A
Andre13
Membre impliqué
Membre impliqué
Messages : 1'479
Appréciations reçues : 90
Inscrit le : 13 juillet 2017
Version d'Excel : 2007-2013

Message par Andre13 » 28 novembre 2018, 21:18

Bonjour toutes et tous
coucou Sabv :wink:

et en remplaçant tes
=""
par
<> 0 
moi je n'ai plus d'erreur(s) dans ton userform1
Private Sub CheckBox1_Click()
With Sheets("Phosphates Calculator")
  If Not CheckBox1 Then [E13:M15].ClearContents: Exit Sub
  CheckBox2 = 0: CheckBox5 = 0: [G13] = "P2O5 (mg/Kg) in FP"
  [E13] = "REGULATION (EC) No 1333/2008: 08.3.1 Non-heat-treated " _
    & "meat products & 08.3.2 Heat-treated meat products"
   If [E9] <> 0 Then [E14] = Application.Sum([D12] * [H12] * 10000)
  [G14] = IIf([E14] > 5000, "NO", "YES")
  If [E9] <> 0 Then [E15] = Application.Sum([D12] * ([J9] / 100) * 10000)



  End With
End Sub

Private Sub CheckBox2_Click()
  If CheckBox2 Then
    CheckBox1 = 0: CheckBox5 = 0
    CheckBox3.Visible = -1: CheckBox4.Visible = -1
  Else
    CheckBox3.Visible = 0: CheckBox4.Visible = 0
  End If
End Sub

Private Sub CheckBox3_Click()
  If Not CheckBox3 Then [E13:M15].ClearContents: Exit Sub
  CheckBox4 = 0: [G13] = "P (mg/Kg) in FP"
  [E13] = "08.2.1 Non-heat treated processed meat, poultry, " _
    & "and game products in whole pieces or cuts"
  If [E9] <> 0 Then [E14] = Application.Sum([D12] * [H12] * 10000 * 0.4364)
  [G14] = IIf([E14] > 2200, "NO", "YES")
  If [E9] <> 0 Then [E15] = Application.Sum([D12] * ([J9] / 100) * 10000 * 0.4364)
End Sub

Private Sub CheckBox4_Click()
If Not CheckBox4 Then [E13:M15].ClearContents: Exit Sub
  CheckBox3 = 0: [G13] = "P (mg/Kg) in FP"
  [E13] = "08.2.2 Heat treated processed meat, poultry, " _
    & "and game products in whole pieces or cuts"
  If [E9] <> 0 Then [E14] = Application.Sum([D12] * [H12] * 10000 * 0.4364)
  [G14] = IIf([E14] > 1320, "NO", "YES")
  If [E9] <> 0 Then [E15] = Application.Sum([D12] * ([J9] / 100) * 10000 * 0.4364)
End Sub

Private Sub CheckBox5_Click()
  If Not CheckBox5 Then [E13:M15].ClearContents: Exit Sub
  CheckBox1 = 0: CheckBox2 = 0: CheckBox4 = 0: [G13] = "P2O5 (g/Kg) in FP"
  [E13] = "TR CU 029/2012: Meat products, except for " _
    & "non-processed products and meat filling"
  If [E9] <> 0 Then [E14] = Application.Sum([D12] * [H12])
  [G14] = IIf([E14] > 3, "NO", "YES")
  If [E9] <> 0 Then [E15] = Application.Sum([D12] * ([J9] / 100))
End Sub

crdlt,
André
ztest1.jpg
ztest1.jpg (16.93 Kio) Vu 137 fois
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 29 novembre 2018, 07:13

Excuse-moi Isabelle.
J’avais écris le mot de passe dans le commentaire mais j’ai oublié d’écrire « mdp: ». Le mdp c’est lilette.

Bonjour André,

La 1ère feuille marche bien. C’est la 2ème feuille dont j’avais des problèmes d’erreur mais Isabelle a résolu l’erreur sauf que les résultats ne s’affichent pas.

Merci.
Lilette
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message