• Initiateur de la discussion Initiateur de la discussion rud@ï
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

rud@ï

Guest
Bonjour tt l monde!
J'utilise dans une feuille excel des cases à cocher avec le code suivant:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'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 Sub


Mais le fait est que dès que je fais double clic, cela m'insère une nouvelle case à cocher alors que je n'en ai pas besoin bien sûr! Ce qui est normal vu le code que j'utilise mais je voudrais faire une condition qui empêche cela !!!

merci pour votre aide

Fichier joint
 
Merci de ta réponse!
Mais mon problème est partiellement résolu car quand je fais double clic la case n'est pas crée mais je ne peux quand même pas rentrer dans la cellule pour écrire !
C à dire qu'il ne crée pas la forme de la case à cocher mais donne à la cellule les attributs d'une cellule à case à cocher !

Ce que je veux c que je puisse double cliquer pour insérer du texte dans une cellule autre que celle à cocher et quand même avoir une action en double cliquant sur les cases à coher existantes!

c peut etre mal expliquer mais je fais pas mieux

merci
 
Re rud@ï,

Ci-joint ton fichier modifié...

La procédure se présente comme suit :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      'Teste de la valeur de la cellule
      If Target.Value Like '[oý]' Then
            Target.Value = IIf(Target.Value = 'o', 'ý', 'o')
            'Empêche la sélection de la cellule après le double-clic
            Cancel = True
      End If
End Sub
Comme les cellules 'cases à cocher' sont prédéfinies, tu n'as pas besoin d'en redéfinir le formatage (Font et Alignement) dans cette procédure...

Cordialement, [file name=mDF_casesAcocher.zip size=7537]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mDF_casesAcocher.zip[/file]
 

Pièces jointes

Bonsoir Deudecos,

Like est un opérateur de comparaison, trop peu utilisé je trouve car on peut combiner pas mal de chose grâce à ça (je te conseille de jeter un oeil sur l'aide...). Cet opérateur permet notamment l'utilisation de caractères 'jokers' très utiles parfois.

A la place de la ligne :
If Target.Value Like '[oý]' Then
On peut utiliser :
If Target.Value = 'o' Or Target.Value = 'ý' Then
Cordialement,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
584
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour