LE NEWSMAGAZINE Nº1 DES NOUVELLES TECHNOLOGIES
21 utilisateurs connectés

Macro ne fonctionne pas excel 2003

sebdu28 le 03 décembre 2008 à 20h19
Voila mon soucis
je veux qu'une cellule se grise après avoir cliquer sur une case à cocher et inversement.
Voici mon code, pouvez-vous m'aider ?

Sub CheckBox1_Click()
Dim rg As Range
Set rg = Range("F4")
If CheckBox1.Value Then
With rg.Interior
.ColorIndex = 15
.Pattern = xlSolid
.PatternColorIndex = x1Automatic
End With
Else
rg.Interior.ColorIndex = x1None
End If
End Sub
willyplaisir le 03 décembre 2008 à 22h06
bonjour

Sub CheckBox1_Click()
Dim rg As Range
Set rg = Range("F4")
rg.Select
With Selection
If rg.Interior.ColorIndex = 15 Then rg.Interior.ColorIndex = x1None
Else
rg.Interior.ColorIndex = 15
End If
End With
End Sub
:salut:

à tester
-->Message édité par willyplaisir le 03/12/2008 22:13:07<--
Gorfael le 03 décembre 2008 à 23h54
sebdu28 a écrit :
Voila mon soucis
je veux qu'une cellule se grise après avoir cliquer sur une case à cocher et inversement.
Voici mon code, pouvez-vous m'aider ?

Sub CheckBox1_Click()
Dim rg As Range
Set rg = Range("F4")
If CheckBox1.Value Then
With rg.Interior
.ColorIndex = 15
.Pattern = xlSolid
.PatternColorIndex = x1Automatic
End With
Else
rg.Interior.ColorIndex = x1None
End If
End Sub
Salut
Je suppose que c'est une case à cochée issue de la barre d'outils "Boîte à outils contrôle et que la macro est sur le module lié à la feuille (en mode création => Clic-droit>>Menu contextuel>>Code)
Ta macro semble correcte, un peu complexifiée, mais "ne marche pas" ne permet pas de trouver ce qui cloche. Met un point d'arrêt sur la ligne de titre de la macro et avance pas-à-pas avec F8. regarde à quelle ligne elle "ne marche pas" (remarque, ça semble normal, vu qu'elle n'a pas de jambe)

La même en plus simple :
Private Sub CheckBox1_Click()
If Me.CheckBox1 Then [F4].Interior.ColorIndex = 15 Else [F4].Interior.ColorIndex = xlNone
End Sub
A+
-------
Plus tu es moins précis, moins les réponses sont plus adaptées!
La qualité et la précision de la réponse sont proportionnelles à celles de la question, et la conditionne.
willyplaisir le 04 décembre 2008 à 14h05
bonjour Gorfael,

j'apprécie ta formule simplifiée, mais elle ne fonctionne pas si la cellule est grisée au départ.

Private Sub CheckBox1_Click()
If Me.CheckBox1 Then [F4].Interior.ColorIndex = 15 Then[F4].Interior.ColorIndex = xlNone

Else [F4].Interior.ColorIndex = 15
End Sub
Gorfael le 04 décembre 2008 à 18h13
willyplaisir a écrit :
bonjour Gorfael,

j'apprécie ta formule simplifiée, mais elle ne fonctionne pas si la cellule est grisée au départ.

Private Sub CheckBox1_Click()
If Me.CheckBox1 Then [F4].Interior.ColorIndex = 15 Then[F4].Interior.ColorIndex = xlNone

Else [F4].Interior.ColorIndex = 15
End Sub
Salut
2 remarques :
La macro ne contient que 3 lignes :
Private sub....
If Me.CheckBox1 Then [F4].... else [F4]...
end sub
la formule s'en fout de la couleur de départ : quand elle agit, elle regarde la valeur de la case, si elle est cochée, elle grise, si elle n'est pas cochée, elle remet la couleur en Automatique
A+
-------
Plus tu es moins précis, moins les réponses sont plus adaptées!
La qualité et la précision de la réponse sont proportionnelles à celles de la question, et la conditionne.
willyplaisir le 04 décembre 2008 à 20h36
merci pour tes remarques, je ne connaissais cette commande Me. avec checkBox1

j'espère que SEBdu28 appréciera la macro.
Gorfael le 05 décembre 2008 à 09h51
willyplaisir a écrit :
merci pour tes remarques, je ne connaissais cette commande Me. avec checkBox1

j'espère que SEBdu28 appréciera la macro.
Salut
Me. n'est pas réellement une commande. C'est une variable qui fait référence à l'objet support. C'est plus facile que de nommer la feuille (ou l'USF).

Quand au problème de SEBdu28, je pense que ce n'est pas son codage qui pose problème.
A+
-------
Plus tu es moins précis, moins les réponses sont plus adaptées!
La qualité et la précision de la réponse sont proportionnelles à celles de la question, et la conditionne.
sebdu28 le 05 décembre 2008 à 13h55
Merci beaucoup les gars !!!!

J'ai posé cette question à plusieurs informaticiens, jusqu'à maintenant aucune réponse ...
mais grâce ... à willyplaisir merci à toi, tu as résolu mon problème et simplement !

Seb
willyplaisir le 05 décembre 2008 à 17h59
pense à ajouter [Résolu] dans ta 1ère annonce.

suis content pour toi.
suis pas informaticien.... mais je joue aux billes comme les ptits enfants (protons, neutrons...) et je connais un peu l'informatique et VBA sous Excel
sebdu28 le 07 décembre 2008 à 17h52
Bonjour,

Deuxième question

Est-il possible de faire à partir d'un code : pouvoir inclure plusieurs checkbox et griser plusieurs cellules.
C'est pour éviter à avoir à recopier le code plusieurs fois.
Merci beaucoup pour votre aide. (sur les 2 sites)

Séb


À PROPOS DU FORUM MICRO HEBDO

LES FORUMS THÉMATIQUES ET TECHNIQUES

LES FORUMS GÉNÉRAUX

ARCHIVES DU FORUM

publicité
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Groupe 01 - 01net.