Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

transformer une cellule en bouton a cocher : on m'a aidé, mais j'y arrive pas

7 réponses
Avatar
soixanteu
voila, je veut transformer une cellule en case a cocher, j'ai post=E9
ici, et Nicolas B. m'a gentiment repondu :
---
Salut,


Dans le module de la feuille, mets ceci pour avoir une case =E0 cocher
en A1 :


Private Sub Worksheet_SelectionChange(ByVa=ADl Target As Range)
If Target.Address =3D "$A$1" Then
If Target.Value =3D "" Then
Target.Value =3D "=D7"
Else
Target.Value =3D ""
End If
End If
End Sub


A+
Nicolas B.
---

seulement voila : je copie/colle le code dans un module de la feuille,
j'enregistre, je ferme, je re-ouvre... je coche... et ca marche pas,
coment je peut faire?!? merci! :)

7 réponses

Avatar
AV
La solution qui t'a été proposée fonctionne...sous réserve de
sélectionner/désélectionner la cellule
Il me semble que l'évènement "BeforeDoubleClick" serait plus adapté ?

Private Sub Worksheet_BeforeDoubleClick(ByVal zz As Range, Cancel As Boolean)
If zz.Address <> "$A$1" Then Exit Sub
If zz.Value = "" Then
zz.Value = "×"
Else: zz.Value = ""
End If
Cancel = True
End Sub

AV
Avatar
PMO
Bonjour,

AV a raison de vous conseillez l'usage de "BeforeDoubleClick".

Il serait plus fun d'avoir le symbole des véritables cases à cocher
ressemblant à une espède de "V". Vérifiez dans la liste des polices
si vous avez la police "Marlett". Si c'est le cas, utilisez la procédure
de AV que j'ai embellit avec le symbole case à cocher.

'**********
Private Sub Worksheet_BeforeDoubleClick _
(ByVal zz As Range, Cancel As Boolean)
If zz.Address <> "$A$1" Then Exit Sub
If zz.Value = "" Then
zz.Font.Name = "Marlett"
zz.Value = Chr(97) 'ou "a"
Else
zz.Font.Name = "Arial"
zz.Value = ""
End If
Cancel = True
End Sub
'**********

Cordialement.
--
PMO
Patrick Morange



voila, je veut transformer une cellule en case a cocher, j'ai posté
ici, et Nicolas B. m'a gentiment repondu :
---
Salut,


Dans le module de la feuille, mets ceci pour avoir une case à cocher
en A1 :


Private Sub Worksheet_SelectionChange(ByVa­l Target As Range)
If Target.Address = "$A$1" Then
If Target.Value = "" Then
Target.Value = "×"
Else
Target.Value = ""
End If
End If
End Sub


A+
Nicolas B.
---

seulement voila : je copie/colle le code dans un module de la feuille,
j'enregistre, je ferme, je re-ouvre... je coche... et ca marche pas,
coment je peut faire?!? merci! :)




Avatar
bruno
je n'y arrive toujoursd, pas!! commetn on fait pour les modules??

je vait dans visual basic editor, je clique droit sur le rep. du
fichier excel, je met
"insertion=>module"

la je colel le code... et ca marche poas, il faut le valider quelque
part? le lencer?? :'[

merci d'avance!!
Avatar
PMO
Bonjour,

C'est un code évènementiel et il va s'inscrire dans un code de feuille
et non pas dans un module.

Procédez comme suit
1) Dans Excel tapez Alt+F11 pour aller dans le VBE
2) Si la fenêtre Projet - VBAProject n'est pas visible alors
tapez Ctrl+R
3) Dans la fenêtre susmentionnée si Microsoft Excel Objets n'est
pas déplié alors double cliquez dessus.
4) Double cliquez sur feuille de votre choix
5) Une fenêtre de code de cette feuille apparaît
6) Collez le code à cet endroit
7) Retournez dans Excel et sélectionnez la feuille que vous avez choisie
8) Double cliquez sur A1 et ça devrait marcher

Cordialement.

--
PMO
Patrick Morange



je n'y arrive toujoursd, pas!! commetn on fait pour les modules??

je vait dans visual basic editor, je clique droit sur le rep. du
fichier excel, je met
"insertion=>module"

la je colel le code... et ca marche poas, il faut le valider quelque
part? le lencer?? :'[

merci d'avance!!




Avatar
bruno
MERCI! ca marche ^^ :)) dsl, je conait po excel!! lol :)
(vous allez me taper : vive open office!)
Avatar
ClémentMarcotte
MERCI! ca marche ^^ :)) dsl, je conait po excel!! lol :)


pis tu quonnèt pas ton feranssès non pelut.


"bruno" a écrit dans le message de
news:
(vous allez me taper : vive open office!)



Avatar
bruno
ClémentMarcotte a bredouillé:


pis tu quonnèt pas ton feranssès non pelut.



heu... j'ai po compris :'(

dsl