Affectation macro condition If

Bonjour,

Voilà je suis sur Mac (il n'y a donc pas le contrôle ActiveX) et je veux affecter une macro à une case à cocher.

Mais quand je veux créer le programme ça me met erreur d'éxécution 424 et vba me dit que la ligne avec if a un problème.

Je vous mets la le programme ci dessous:
Sub Caseàcocher5_Cliquer()

If Caseàcocher5.Value = True Then   -> (c'est cette ligne qui plante)

[Devis!E43] = "Remise de"

[Devis!F43] = [E14]

[Devis!H43] = [Devis!H42] * [E14]

Else: [Devis!E43,Devis!F43,Devis!H43] = ""

End If

End Sub


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.


Voilà merci!

1 réponse

  1. Modérateur
    Bonjour,

    Une première piste ... tu es sûr du "nom" de ta case ?
    Pourrais tu lancer la macro suivante et nous dire ce que ça t'a retourné ?
    
    Sub getShapesName()
      For Each Sha In ActiveSheet.Shapes
           MsgBox Sha.Name
      Next
    End Sub
    

    0
    1. Merci pour ta réponse!

      Et bien normalement oui, le nom caseàcocher6 et celui qui s'affiche quand je veux affecter une macro!
      Pour ton programme, quand je lance cette macro ça me met un pop up d'une fenêtre microsoft avec d'abord check box 1 puis text box 1 puis check box 2 et enfin check box 6!
      0
    2. Modérateur
      @kartnemaniacTu nous parles de la case 6 ... hors ton code fait référence à la case 5 .... Oo ??

      Ensuite... il faut éviter les caractères accentué dans le nom des variables (ou objets).
      Et enfin.. je pense qu'il faut utiliser le nom "checkbox6" au lieu de caseàcocher6 ..
      0
    3. Désolé je voulais dire caseàcocher5 !

      J'ai essayé avec Checkbox6 mais c'est toujours la même ligne qui plante:

      <code>Sub Checkbox6_Click()
      
      If Checkbox6.Value = True Then   -> (c'est cette ligne qui plante)
      
      [Devis!E43] = "Remise de"
      
      [Devis!F43] = [E14]
      
      [Devis!H43] = [Devis!H42] * [E14]
      
      Else: [Devis!E43,Devis!F43,Devis!H43] = ""
      
      End If
      
      End Sub
      </code>

      J'arrive pas à comprendre pourquoi..
      0