ERREUR DE COMPILATION - NOM AMBIGU DETECTE.
Résolu
Chateaudax05
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Paf -
Paf -
Bonjour,
j'ai créé une checkbox liée à une macro qui permet d'afficher ou masquer une autre feuille de mon classeur si la case est cochée ou non, cette macro est la suivante et fonctionne parfaitement :
Private Sub checkbox1_click()
If CheckBox1.Value = True Then ActiveWorkbook.Sheets("Feuil3").Visible = True
If CheckBox1.Value = False Then ActiveWorkbook.Sheets("Feuil3").Visible = False
End Sub
Je souhaiterai lier une autre macro à cette même checkbox pour que le chiffre "1" s'affiche dans une cellule lorsque la case est cochée et le chiffre "0" lorsqu'elle est décochée. J'utilise la macro suivante :
Private Sub checkbox1_click()
If CheckBox1.Value Then
Range("D4").Value = "1"
Else
Range("D4").Value = "0"
End If
End Sub
Mais je me trouve confrontée à un message d'erreur : ERREUR DE COMPILATION - NOM AMBIGU DETECTE.
Je pense que c'est parce que je veux lier 2 macros à une même checkbox mais je n'arrive pas à résoudre cette erreur.
Merci de votre aide !
j'ai créé une checkbox liée à une macro qui permet d'afficher ou masquer une autre feuille de mon classeur si la case est cochée ou non, cette macro est la suivante et fonctionne parfaitement :
Private Sub checkbox1_click()
If CheckBox1.Value = True Then ActiveWorkbook.Sheets("Feuil3").Visible = True
If CheckBox1.Value = False Then ActiveWorkbook.Sheets("Feuil3").Visible = False
End Sub
Je souhaiterai lier une autre macro à cette même checkbox pour que le chiffre "1" s'affiche dans une cellule lorsque la case est cochée et le chiffre "0" lorsqu'elle est décochée. J'utilise la macro suivante :
Private Sub checkbox1_click()
If CheckBox1.Value Then
Range("D4").Value = "1"
Else
Range("D4").Value = "0"
End If
End Sub
Mais je me trouve confrontée à un message d'erreur : ERREUR DE COMPILATION - NOM AMBIGU DETECTE.
Je pense que c'est parce que je veux lier 2 macros à une même checkbox mais je n'arrive pas à résoudre cette erreur.
Merci de votre aide !
A voir également:
- Vba nom ambigu detecté
- Clé usb non detecté - Guide
- Nom sonnerie iphone - Forum iPhone
- Nom de l'adresse - Forum Jeux vidéo
- Nom de compte steam exemple - Forum Jeux vidéo
- Changer nom iphone - Guide
5 réponses
Bonjour
RQ. Il faudra certainement préciser la feuille
Sheets(nom_feuille).Range("D4").Value =
Cdlmnt
Private Sub checkbox1_click() If CheckBox1.Value = True Then ActiveWorkbook.Sheets("Feuil3").Visible = True Range("D4").Value = 1 Else ActiveWorkbook.Sheets("Feuil3").Visible = False Range("D4").Value = 0 End if End Sub
RQ. Il faudra certainement préciser la feuille
Sheets(nom_feuille).Range("D4").Value =
Cdlmnt
Bonjour,
comme ceci:
comme ceci:
Private Sub CheckBox1_Change() If CheckBox1.Value = True Then ActiveWorkbook.Sheets("Feuil3").Visible = True If CheckBox1.Value = False Then ActiveWorkbook.Sheets("Feuil3").Visible = False End Sub Private Sub CheckBox1_Click() If CheckBox1.Value Then Range("D4").Value = "1" Else Range("D4").Value = "0" End If End Sub
bonjour,
tu peux peut-^tre te dispenser d'une macro avec la propriété "linked cell" du checkbox qui te renverra VRAI ou FAUX au lieu de 1 ou 0
(en mode création-clic droit-propriété)
si tu tiens au 1-0, dans une cellule à coté tu écris par ex =B2*1 (B2 étant la cellule liée)
tu peux peut-^tre te dispenser d'une macro avec la propriété "linked cell" du checkbox qui te renverra VRAI ou FAUX au lieu de 1 ou 0
(en mode création-clic droit-propriété)
si tu tiens au 1-0, dans une cellule à coté tu écris par ex =B2*1 (B2 étant la cellule liée)
bonjour à vous 3,
après maintes et maintes essais selon vos réponses et après un tas de messages d'erreurs de compilation, de syntaxes et autres, j'ai utilisé les 2 macros suivantes et ça marche :
Private Sub checkbox2_change()
If CheckBox2.Value = True Then ActiveWorkbook.Sheets("Option mise en service").Visible = True
If CheckBox2.Value = False Then ActiveWorkbook.Sheets("Option mise en service").Visible = False
End Sub
Private Sub checkbox2_Click()
If CheckBox2.Value = True Then ActiveWorkbook.Sheets("Proposition commerciale").Range("C65").Value = "1"
If CheckBox2.Value = False Then ActiveWorkbook.Sheets("Proposition commerciale").Range("C65").Value = "0"
End Sub
Merci pour votre aide.
après maintes et maintes essais selon vos réponses et après un tas de messages d'erreurs de compilation, de syntaxes et autres, j'ai utilisé les 2 macros suivantes et ça marche :
Private Sub checkbox2_change()
If CheckBox2.Value = True Then ActiveWorkbook.Sheets("Option mise en service").Visible = True
If CheckBox2.Value = False Then ActiveWorkbook.Sheets("Option mise en service").Visible = False
End Sub
Private Sub checkbox2_Click()
If CheckBox2.Value = True Then ActiveWorkbook.Sheets("Proposition commerciale").Range("C65").Value = "1"
If CheckBox2.Value = False Then ActiveWorkbook.Sheets("Proposition commerciale").Range("C65").Value = "0"
End Sub
Merci pour votre aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai utilisé ta solution ré-adaptée aux feuilles de mon fichier, de la façon suivante :
Private Sub checkbox2_click()
If CheckBox2.Value = True Then ActiveWorkbook.Sheets("Option Mise en service").Visible = True
Sheets("Proposition commerciale").Range("C65").Value = "1"
If CheckBox2.Value = False Then ActiveWorkbook.Sheets("Option Mise en service").Visible = False
Sheets("Proposition commerciale").Range("C65").Value = "0"
End Sub
La feuille "Option mise en service" est affichée ou masquée selon que la case est cochée ou non. Donc là pas de souci.
Par contre dans ma feuille "Proposition commerciale" que la case soit cochée ou non le résultat reste "0". Mon "1" ne s'affiche pas même si la case est cochée.
Qu'est-ce que je fais mal ??
Si tu préfères garder ta structure, utilises l'exemple de cs_Le Pivert (salut à toi) ci-dessous
Cordialement
j'avais dans un premier temps respecter ta structure mais j'avais un message d'erreur "Else sans if" et ça ne fonctionnait pas. Voilà pourquoi j'ai réadapté.