Changement de valeur au clic

  • Initiateur de la discussion Initiateur de la discussion the_worms
  • 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 !

T

the_worms

Guest
Bonjour à tous,

J'ai à besoin nouveau de votre aide pour le code VBA que j'utilise.
Je vous explique, j'utilise un code qui génère des cases vides dans une plage lorsqu'on double clic sur la case elle se remplie (grâce à l'utilisation de caractère Wingdings.

Je voudrais effectuer exactement la même manipulation mais par un simple clic-gauche.

ci-joint voilà le code que j'utilise actuellement :
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not (Intersect(Target, Range("plage")) Is Nothing) Then
Target.Font.Name = "Wingdings"
Target.HorizontalAlignment = xlCenter
Cancel = True
Target.Value = inverse(Target.Value)
End If
End Sub

Est-ce que quelqu'un à une solution ?

Merci d'avance pour votre aide =)
Est-ce que quelqu'un à une solution ,
 
Re : Changement de valeur au clic

Merci Pierrot,
Mais ça marche en créant des bugs.
Les problèmes qui surviennent :
1°/ Lorsque je sélectionne tout mon tableau ça change les autres polices en Wingdings.
2°/ Lorsque dans le coup un utilisateur fait un double clic sur la case, il peut modifier le caractère.
 
Re : Changement de valeur au clic

Merci Hippolite,
La solution 2 fonctionne très bien.

Et concernant mon autre problème, existe-t'il une solution qui change la valeur à chaque clic.
Car une fois que j'ai cliqué une case, je ne peux pas la re-sélectionner de suite.

Je ne connais pas encore assez le langage VBA, mais je ne pourrai pas utiliser une fonction If Else ? afin de changer la valeur à chaque clic ?

Merci encore pour votre aide =)

A+
 
Re : Changement de valeur au clic

Oups, j'ai inséré la ligne dans le code de ma feuille VBA : Général => Déclarations.
Nomdelafeuille.Protect UserInterfaceOnly:=True.

Et cela me renvoie l'erreur suivante :
Erreur de compilation: Instruction incorrecte à l'extérieur d'une procédure.
Et il me surligne le terme : True.

Une idée du problème ?

Merci encore pour ton aide Hippolite.
 
Re : Changement de valeur au clic

Re,
Et concernant mon autre problème, existe-t'il une solution qui change la valeur à chaque clic.
Car une fois que j'ai cliqué une case, je ne peux pas la re-sélectionner de suite.
Il faut rester sur le clic droit car la macro événementielle BeforeRightClick fonctionnera plusieurs fois de suite.
La macro événementielle SelectionChange fonctionne avec le clic gauche mais nécessite de changer de sélection et ne peut donc pas être * répétée sur la même cellule.
A+

Ajout : * on peut contourner en sélectionnant une autre cellule en fin de sub
 
Dernière édition:
Re : Changement de valeur au clic

Oui,
Je viens de faire un document simplifié.
Petite précision sur le fichier, il faudrait que je puisse faire la manipulation sur la feuille 1 et 2 du fichier.
Merci d'avance pour ton aide.

PS : Dans le coup, j'ai enlevé ta dernière ligne de commande.
 

Pièces jointes

Re : Changement de valeur au clic

Re,
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not (Intersect(Target, Range("case")) Is Nothing) Then
    Feuil1.Protect UserInterfaceOnly:=True
    Target.Font.Name = "Wingdings"
    Target.HorizontalAlignment = xlCenter
    Cancel = True
    Target.Value = inverse(Target.Value)
    Range("E1").Select
End If
End Sub
J'ai utilisé le nom vba de la feuille (celui de l'explorateur de projet) pour être indépendant d'un renommage de la feuille.
J'ai ajouté une sélection à la fin pour pouvoir cliquer plusieurs fois de suite
A+
 
Re : Changement de valeur au clic

J'ai parlé trop vite :/

Le système fonctionne sans problème.
Par contre, si je sélectionne plusieurs cases, lignes ou colonnes (en prenant au moins une case à cocher wingdings ça modifie la police des autres colonnes en Wingdings.

Cela peut-il se corriger ?

Merci d'avance :$
 
- 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
9
Affichages
508
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
586
Retour