Checkbox dans des cases

Le
Claude Schneegans
Bonjour,

Je cherche à faire un tableau avec disons deux colonnes.
Dans la première, j'ai des prix, dans la seconde j'ai 1 ou 0 (sélection)
En dessous, j'affiche le total des articles pour lesquels la sélection = 1.

Pour que ça soit plus convivial, je voudrais remplacer les 0 ou 1 par un
checkbox, à la manière Access.
Est-ce possible, et comment je fais pour trouver la valeur associée au
checkbox pour faire mon total ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #18461641
Bonjour,

Tu vas mettre autant de checkbox que de cellules... soit * ..!
Supposons valeurs en A2:A6
Pour chaque checkbox placée à coté mettre la propriété Linckedcell
b2 pour la première ...b6 pour la dernière
(ou voir code ajtchb plus bas)

la formule sera ainsi:

=SOMMEPROD((A2:A6)*(B2:B6=VRAI))


--
lSteph

'*

Sub ajtchb()
Dim c As Range
For Each c In [a2:a6]
With c.Offset(0, 1)
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=c, _
DisplayAsIcon:úlse, Left:=.Left, Top:=.Top, Width:=.Width, _
Height:.5).Select
Selection.LinkedCell = .Address
End With

Next
[a1].Activate
End Sub


Claude Schneegans a écrit :
Bonjour,

Je cherche à faire un tableau avec disons deux colonnes.
Dans la première, j'ai des prix, dans la seconde j'ai 1 ou 0 (sélection)
En dessous, j'affiche le total des articles pour lesquels la sélection = 1.

Pour que ça soit plus convivial, je voudrais remplacer les 0 ou 1 par un
checkbox, à la manière Access.
Est-ce possible, et comment je fais pour trouver la valeur associée au
checkbox pour faire mon total ?

Merci.


garnote
Le #18465541
Salut Claude,

Pour le plaisir, une autre façon de faire :
http://www.cijoint.fr/cjlink.php?file=cj200901/cijqAWmMyg.xls

Serge


"Claude Schneegans"
Bonjour,

Je cherche à faire un tableau avec disons deux colonnes.
Dans la première, j'ai des prix, dans la seconde j'ai 1 ou 0 (sélection)
En dessous, j'affiche le total des articles pour lesquels la sélection = 1.

Pour que ça soit plus convivial, je voudrais remplacer les 0 ou 1 par un checkbox, à la manière Access.
Est-ce possible, et comment je fais pour trouver la valeur associée au checkbox pour faire mon total ?

Merci.


garnote
Le #18465711
Avant de subir les foudres de Monseigneur,
sachez qu'il faut remplacer
3) Je l'ai aligné ... par 3) Je l'ai alignée ...

http://www.cijoint.fr/cjlink.php?file=cj200901/cijqAWmMyg.xls

Serge ;-)
gmlsteph
Le #18465961
;-))

Avant de subir les foudres de Monseigneur,



Oui Serge et d'autres foudres encore pour ceux qui mettent des liens
cjoint sans donner le détail de la réponse dans le fil
..code, et/ou formules resteront ainsi, lorsque le lien sera mort.

Pour reprendre je cite '''
=SOMMEPROD(A2:A1001;B2:B1001)
et ce que tu as mis dans ton exemple:
''''''''
1) J'ai formaté A2 en $
2) J'ai inséré une zone de texte de la Barre d'outiils Formulaire en
B2
3) Je l'ai aligné sur la grille pour qu'elle occupe toute la cellule
4) J'ai centré son texte horizontalement et verticalement
5) J'ai choisi la fonte Webdings et la taille 20
6) J'ai associé la macro «Cocher» à cette zone de texte
7) J'ai sélectionné A2:B2 et tapé Ctrl+C
8) J'ai sélectionné A3:A9 et tapé Ctrl+V
Ne reste plus qu'à entrer des prix et à cocher.
Si tu veux plus de prix à cocher, sélectionne A9:B9, tape Ctrl+C,
sélectionne A10:Ax et tape Ctrl+V.

Sub Cocher()
With ActiveSheet.Shapes(Application.Caller).TextFrame
If .Characters.Text = "" Then
.Characters.Text = "a"
.Parent.TopLeftCell = 1
Else
.Characters.Text = ""
.Parent.TopLeftCell = 0
End If
End With
End Sub
'Garnote
'''

'@+
'lSteph
garnote
Le #18466271
Tu as bien raison de me morigéner ;-)
Ça m'énerve aussi un tipeu quand on m'envoie
sur un joint sans explications.

Serge
Qui a dit ça :
«On peut obtenir beaucoup plus avec un mot gentil et un revolver,
qu'avec un mot gentil tout seul».



;-))

Avant de subir les foudres de Monseigneur,



Oui Serge et d'autres foudres encore pour ceux qui mettent des liens
cjoint sans donner le détail de la réponse dans le fil
..code, et/ou formules resteront ainsi, lorsque le lien sera mort.

Pour reprendre je cite '''
=SOMMEPROD(A2:A1001;B2:B1001)
et ce que tu as mis dans ton exemple:
''''''''
1) J'ai formaté A2 en $
2) J'ai inséré une zone de texte de la Barre d'outiils Formulaire en
B2
3) Je l'ai aligné sur la grille pour qu'elle occupe toute la cellule
4) J'ai centré son texte horizontalement et verticalement
5) J'ai choisi la fonte Webdings et la taille 20
6) J'ai associé la macro «Cocher» à cette zone de texte
7) J'ai sélectionné A2:B2 et tapé Ctrl+C
8) J'ai sélectionné A3:A9 et tapé Ctrl+V
Ne reste plus qu'à entrer des prix et à cocher.
Si tu veux plus de prix à cocher, sélectionne A9:B9, tape Ctrl+C,
sélectionne A10:Ax et tape Ctrl+V.

Sub Cocher()
With ActiveSheet.Shapes(Application.Caller).TextFrame
If .Characters.Text = "" Then
.Characters.Text = "a"
.Parent.TopLeftCell = 1
Else
.Characters.Text = ""
.Parent.TopLeftCell = 0
End If
End With
End Sub
'Garnote
'''

'@+
'lSteph
Claude Schneegans
Le #18473881
Merci pour vos réponses, je pensais qu'il y avait plus simple, mais
enfin bon.
Claude Schneegans
Le #18474081
>>Pour chaque checkbox placée à coté





C'est ça le problème : pourquoi « placée à côté » ? Il n'y a pas moyen
de mettre une checkbox DANS une cellule, tout simplement ?
Ça devrait en fait faire partie des façons possibles de formater une
cellule :
= 0 : checkbox non cochée
<> 0 : checkbox cochée
(et vice versa)
LSteph
Le #18476661
ton but n'était-il pas de mettre une formule à la place des oui et non

Voilà deux propositions qui font cela avec ou sans checkbox

Alors...
> Ça devrait
...
c'est un peu à côté

on essaye juste de t'aider pour ta soluce avec checkbokx
particulièrement lourde amha.

attribuer une valeur est précisément différent de l'utilisation d'un format.


On pourrait mettre un proc évennementielle en plus pour chaque
changement , et si tu veux qu'on fasse tout par macro c'est possible
mais je trouve cela grave lourd qd on peut tout mettre en une simple
formule qui ne requiert guère plus que des 1 ou 0 *

@+

--
lSteph




Claude Schneegans a écrit :
>>Pour chaque checkbox placée à coté

C'est ça le problème : pourquoi « placée à côté » ? Il n'y a pas moyen
de mettre une checkbox DANS une cellule, tout simplement ?
Ça devrait en fait faire partie des façons possibles de formater une
cellule :
= 0 : checkbox non cochée
<> 0 : checkbox cochée
(et vice versa)


LSteph
Le #18476651
..pourtant c'est on ne peut plus simplissime!

>enfin , bon
...




Claude Schneegans a écrit :
Merci pour vos réponses, je pensais qu'il y avait plus simple, mais
enfin bon.


Claude Schneegans
Le #18477381
>> on essaye juste de t'aider pour ta soluce avec checkbokx




particulièrement lourde amha.

Ben oui, bien sûr, et je vous remercie, mais ça n'empêche pas de faire
des commentaires sans viser personne.

>>attribuer une valeur est précisément différent de l'utilisation d'un
format.

Pas du tout. Un checkbox, c'est une représentation, donc un format, pour
une valeur logique qui peut être 0 ou 1.
D'ailleurs, c'est exactement comme ça qu'est traité un champ Yes-no en
Access. On peut changer le format
par du texte, ou un checkbox. C'est bien plus pratique que d'entrer des
valeurs 0 ou 1.

Je disais donc juste que si Microstuff avait procédé de la même façon
pour Excel que pour Access, ça serait aussi bien.
Publicité
Poster une réponse
Anonyme