bonjour à toutes et à tous,
félicitation pour ce forum très pratique (je le visite régulièrement et j'ai toujours réussi à trouver l'info qui me manquait... sauf aujourd'hui 🙄 )
voila mon problème:
dans le but de faire un document utilisable au sein de ma boite, j'ai décidé de faire des cases à cocher afin de faciliter la démarche. j'ai donc récupérer sur internet le code VBA :
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
'Teste si la cellule ayant recu un double-clic fait partie de la plage Hotte, gants et masque
'Cette plage a été définie de manière dynamique à l'aide de la fonction suivante :
' =DECALER(fiche_exposition!$K$13;;;100) pour Hotte
' =DECALER(fiche_exposition!$L$13;;;100) pour Gants
' =DECALER(fiche_exposition!$M$13;;;100) pour masque
'Voir le menu Insertion - Nom - Définir
If Not (Intersect(Target, Range("Hotte", "Masque")) Is Nothing) Then
'Mise en forme de la cellule
Target.Font.Name = "Wingdings"
Target.HorizontalAlignment = xlCenter
'Empêche la sélection de la cellule après le double-clic Cancel = True
'Teste de la valeur de la cellule
If Target.Value = "o" Then
Target.Value = "ý"
ElseIf Target.Value = "ý" Then
Target.Value = "o"
Else: Target.Value = "ý"
End If
Target.Select
End If
End Sub
que j'ai fait à ma sauce (au niveau de la plage de donnée). cette plage contenant 3 colonnes : Hotte, Gants, Masque.
Ceci marche super bien dans la feuille 1 (cela coche les cases quand on double clic dans l'une ou l'autre des 3 colonnes) et ne coche aucune autre cellule, cepandant, dès que je double clic dans n'importe quelle cellule d'une autre feuille (feuille 2 , feuille 3 etc...) VBA m'affiche un message d'erreur du type :
"erreur d'exécution 1004, la méthode 'Range' de l'objet '_global' a échoué"
et quand je clic sur débogage, il me surligne en jaune la ligne
If Not (Intersect(Target, Range("Hotte", "Masque")) Is Nothing) Then
avez-vous une idée ?
félicitation pour ce forum très pratique (je le visite régulièrement et j'ai toujours réussi à trouver l'info qui me manquait... sauf aujourd'hui 🙄 )
voila mon problème:
dans le but de faire un document utilisable au sein de ma boite, j'ai décidé de faire des cases à cocher afin de faciliter la démarche. j'ai donc récupérer sur internet le code VBA :
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
'Teste si la cellule ayant recu un double-clic fait partie de la plage Hotte, gants et masque
'Cette plage a été définie de manière dynamique à l'aide de la fonction suivante :
' =DECALER(fiche_exposition!$K$13;;;100) pour Hotte
' =DECALER(fiche_exposition!$L$13;;;100) pour Gants
' =DECALER(fiche_exposition!$M$13;;;100) pour masque
'Voir le menu Insertion - Nom - Définir
If Not (Intersect(Target, Range("Hotte", "Masque")) Is Nothing) Then
'Mise en forme de la cellule
Target.Font.Name = "Wingdings"
Target.HorizontalAlignment = xlCenter
'Empêche la sélection de la cellule après le double-clic Cancel = True
'Teste de la valeur de la cellule
If Target.Value = "o" Then
Target.Value = "ý"
ElseIf Target.Value = "ý" Then
Target.Value = "o"
Else: Target.Value = "ý"
End If
Target.Select
End If
End Sub
que j'ai fait à ma sauce (au niveau de la plage de donnée). cette plage contenant 3 colonnes : Hotte, Gants, Masque.
Ceci marche super bien dans la feuille 1 (cela coche les cases quand on double clic dans l'une ou l'autre des 3 colonnes) et ne coche aucune autre cellule, cepandant, dès que je double clic dans n'importe quelle cellule d'une autre feuille (feuille 2 , feuille 3 etc...) VBA m'affiche un message d'erreur du type :
"erreur d'exécution 1004, la méthode 'Range' de l'objet '_global' a échoué"
et quand je clic sur débogage, il me surligne en jaune la ligne
If Not (Intersect(Target, Range("Hotte", "Masque")) Is Nothing) Then
avez-vous une idée ?