Problème sur mise en forme conditionnelle VBA
Résolu/Fermé
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
-
27 nov. 2007 à 13:25
VincentG Messages postés 49 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 12 décembre 2007 - 29 nov. 2007 à 22:00
VincentG Messages postés 49 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 12 décembre 2007 - 29 nov. 2007 à 22:00
A voir également:
- Vba mise en forme conditionnelle couleur
- Mise en forme conditionnelle excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Mise en forme whatsapp - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise en forme tableau croisé dynamique - Guide
27 réponses
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
27 nov. 2007 à 13:32
27 nov. 2007 à 13:32
C'est normal :
Quand tu appliques un format, cette caractéristique est attachée à la cellule.
Quand tu demandes une mise en forme conditionnelle, le format est calculé en fonction du contenu.
Quand tu appliques un format, cette caractéristique est attachée à la cellule.
Quand tu demandes une mise en forme conditionnelle, le format est calculé en fonction du contenu.
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
27 nov. 2007 à 13:41
27 nov. 2007 à 13:41
Comment pourrais-je donc faire ?
après une mise en forme conditionnelle, ma cellule a bien un nouveau format... la macro pourrait bien détecter celui là
Tchou Tchou
après une mise en forme conditionnelle, ma cellule a bien un nouveau format... la macro pourrait bien détecter celui là
Tchou Tchou
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
27 nov. 2007 à 18:10
27 nov. 2007 à 18:10
quelqu'un pourrait 'il m'éclairer un peu ?
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
27 nov. 2007 à 21:27
27 nov. 2007 à 21:27
bazutalors :(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
27 nov. 2007 à 22:38
27 nov. 2007 à 22:38
baflutalors :(
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
27 nov. 2007 à 23:33
27 nov. 2007 à 23:33
Bonsoir,
teste la couleur de ta cellule avec ça:
ce n'est peut-être pas le rouge 3...
eric
teste la couleur de ta cellule avec ça:
Sub Couleur() MsgBox (ActiveCell.Interior.ColorIndex) End Sub
ce n'est peut-être pas le rouge 3...
eric
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
28 nov. 2007 à 00:54
28 nov. 2007 à 00:54
nop, le rouge est bien le chiffre 3
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
28 nov. 2007 à 10:01
28 nov. 2007 à 10:01
Bonjour,
Il n'y a aucune raison pour que la macro mise dans ton post 1 fonctionne différemment que la couleur soit mise par mise en forme automatique ou manuellement.
D'ailleurs ce n'est pas plutôt de mise en forme conditionnelle que tu veux parler ? De toute façon ça ne change rien...
Ta macro compte les cellules à fond rouge (3) de la plage désignée.
Je te l'ai modifiée et mise sous forme de fonction personnalisée.
A coller dans un module.
Quand tu fais 'insertion' 'fonction' 'personnalisées' elle te demande 2 parametres :
- la plage à étudier
- une cellule ayant le fond de la couleur à compter
et elle te retourne le nombre de cellules de la plage ayant cette couleur de fond.
Comme ça plus de pb, tu désignes toi même la couleur directement sur la feuille
eric
Il n'y a aucune raison pour que la macro mise dans ton post 1 fonctionne différemment que la couleur soit mise par mise en forme automatique ou manuellement.
D'ailleurs ce n'est pas plutôt de mise en forme conditionnelle que tu veux parler ? De toute façon ça ne change rien...
Ta macro compte les cellules à fond rouge (3) de la plage désignée.
Je te l'ai modifiée et mise sous forme de fonction personnalisée.
Function CompteCouleurs(Plage As Range, CouleurFond As Range) As Long Dim cel As Range Dim NbCouleurs As Long, couleur As Long couleur = CouleurFond.Interior.ColorIndex For Each cel In Plage NbCouleurs = NbCouleurs + (cel.Interior.ColorIndex = couleur) Next CompteCouleurs = -NbCouleurs End Function
A coller dans un module.
Quand tu fais 'insertion' 'fonction' 'personnalisées' elle te demande 2 parametres :
- la plage à étudier
- une cellule ayant le fond de la couleur à compter
et elle te retourne le nombre de cellules de la plage ayant cette couleur de fond.
Comme ça plus de pb, tu désignes toi même la couleur directement sur la feuille
eric
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
28 nov. 2007 à 13:40
28 nov. 2007 à 13:40
Merci pour ton aide, mais le "hic", bien que j'ai fais ce que tu m'as dis point par point, ça ne marche pas.
le résultat = #VALEUR!
je ne vois pas d'où ça peut venir... ça a marché chez toi ?
Vincent
le résultat = #VALEUR!
je ne vois pas d'où ça peut venir... ça a marché chez toi ?
Vincent
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
28 nov. 2007 à 14:15
28 nov. 2007 à 14:15
Oui, bien sûr que ça marche chez moi.
Ca commence à faire bcp de trucs qui devrait marcher sans difficulté...
Pour la fonction désigne la plage et la cellule avec la souris pour éviter des saisies erronées
Quelle version d'excel as tu ?
Il faudrait 2003 ou plus
eric
Ca commence à faire bcp de trucs qui devrait marcher sans difficulté...
Pour la fonction désigne la plage et la cellule avec la souris pour éviter des saisies erronées
Quelle version d'excel as tu ?
Il faudrait 2003 ou plus
eric
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
28 nov. 2007 à 14:37
28 nov. 2007 à 14:37
J'essayerai chez moi ce soir
là, je suis au boulot, j'ai une version de 97... :)
Merci encore de m'avoir aidé
Vincent
là, je suis au boulot, j'ai une version de 97... :)
Merci encore de m'avoir aidé
Vincent
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
28 nov. 2007 à 22:11
28 nov. 2007 à 22:11
Malheureusement, ça ne marche pas
Est ce que quelqu'un d'autre peut essayer de voir si ça marche chez lui ?
merci
Est ce que quelqu'un d'autre peut essayer de voir si ça marche chez lui ?
merci
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
28 nov. 2007 à 22:36
28 nov. 2007 à 22:36
Décris ce que tu fais et ce que te retourne la fonction, "ça ne marche pas" n'est pas explicite...
L'as-tu bien mise dans un module et arrives-tu à l'appeler déjà ?
eric
PS: voici un exemple http://www.cijoint.fr/cij61969428533151.xls
si ça ne marche tjs pas chez toi précise ta version et quel est le pb
L'as-tu bien mise dans un module et arrives-tu à l'appeler déjà ?
eric
PS: voici un exemple http://www.cijoint.fr/cij61969428533151.xls
si ça ne marche tjs pas chez toi précise ta version et quel est le pb
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
28 nov. 2007 à 22:41
28 nov. 2007 à 22:41
voilà ce que je fais :
je copie ton code
j'ouvre ma feuille excel
alt+F11 pour VBA
insertion / Module
je colle
je ferme.
je clique sur une cellule vierge
insérer fonction/ personnalisée / CompteCouleur
Plage ==> sélection à la souris de la zone à traiter
Couleur ==> chiffre n°3 (couleur rouge)
OK
puis apparait #VALEUR! dans la cellule
voilà comment j'ai procédé
je copie ton code
j'ouvre ma feuille excel
alt+F11 pour VBA
insertion / Module
je colle
je ferme.
je clique sur une cellule vierge
insérer fonction/ personnalisée / CompteCouleur
Plage ==> sélection à la souris de la zone à traiter
Couleur ==> chiffre n°3 (couleur rouge)
OK
puis apparait #VALEUR! dans la cellule
voilà comment j'ai procédé
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
28 nov. 2007 à 22:52
28 nov. 2007 à 22:52
J'ai complété mon message au dessus avec un exemple.
Quand tu fais 'insertion' 'fonction' 'personnalisées' elle te demande 2 parametres :
- la plage à étudier
- une cellule ayant le fond de la couleur à compter
et elle te retourne le nombre de cellules de la plage ayant cette couleur de fond.
Comme ça plus de pb, tu désignes toi même la couleur directement sur la feuille
Pour la fonction désigne la plage et la cellule avec la souris pour éviter des saisies erronées
En 2nd parametre c'est une cellule de la bonne couleur qu'il faut lui donner, pas un n° de couleur
Quand tu fais 'insertion' 'fonction' 'personnalisées' elle te demande 2 parametres :
- la plage à étudier
- une cellule ayant le fond de la couleur à compter
et elle te retourne le nombre de cellules de la plage ayant cette couleur de fond.
Comme ça plus de pb, tu désignes toi même la couleur directement sur la feuille
Pour la fonction désigne la plage et la cellule avec la souris pour éviter des saisies erronées
En 2nd parametre c'est une cellule de la bonne couleur qu'il faut lui donner, pas un n° de couleur
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
28 nov. 2007 à 22:58
28 nov. 2007 à 22:58
Quel boulet je fais :)
je mettais tellement axé sur 3 = rouge
pas 3 = pas rouge ...
lol
mille merci pour ton aide (j'ai senti que tu commençais à râler un peu sur la fin :)
à bientôt et merci encore
je mettais tellement axé sur 3 = rouge
pas 3 = pas rouge ...
lol
mille merci pour ton aide (j'ai senti que tu commençais à râler un peu sur la fin :)
à bientôt et merci encore
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
28 nov. 2007 à 23:17
28 nov. 2007 à 23:17
ouffff !!!! ;-)
bonne soirée
bonne soirée
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
29 nov. 2007 à 14:01
29 nov. 2007 à 14:01
Sinon,
ça ne marche pas pour une mise en forme conditionnelle
pour les cellules remplie à la main avec le pot de peinture , ya pas de pb, ça marche
mais pour les cellules ayant une mise en forme conditionnelle, elle ne sont pas prise en compte...
ça ne marche pas pour une mise en forme conditionnelle
pour les cellules remplie à la main avec le pot de peinture , ya pas de pb, ça marche
mais pour les cellules ayant une mise en forme conditionnelle, elle ne sont pas prise en compte...
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
29 nov. 2007 à 15:16
29 nov. 2007 à 15:16
Messieurs, messieurs !
Depuis le post 1 j'ai indiqué que les fonctions qui font apparaître une couleur dans les cellules ne sont pas de même nature !
Vous avez tort (sauf votre respect) de penser que la mise en forme conditionnelle a attribué un format à la cellule ; il suffit pour vous en convaincre de cliquer sur Format/Cellule.
Eric, ton affirmation du post 8 n'est pas juste :
Il n'y a aucune raison pour que la macro mise dans ton post 1 fonctionne différemment que la couleur soit mise par mise en forme automatique ou manuellement.
D'ailleurs ce n'est pas plutôt de mise en forme conditionnelle que tu veux parler ? De toute façon ça ne change rien...
Donc vos formules et macros doivent traiter de manière différente les cellules colorées volontairement (j'allais dire manuellement) et celles qui se colorent en fonction de l'assistant "Mise en forme conditionnelle".
VincentG , tu te rends à l'évidence quand tu rédiges ton tout dernier post ...
Depuis le post 1 j'ai indiqué que les fonctions qui font apparaître une couleur dans les cellules ne sont pas de même nature !
Vous avez tort (sauf votre respect) de penser que la mise en forme conditionnelle a attribué un format à la cellule ; il suffit pour vous en convaincre de cliquer sur Format/Cellule.
Eric, ton affirmation du post 8 n'est pas juste :
Il n'y a aucune raison pour que la macro mise dans ton post 1 fonctionne différemment que la couleur soit mise par mise en forme automatique ou manuellement.
D'ailleurs ce n'est pas plutôt de mise en forme conditionnelle que tu veux parler ? De toute façon ça ne change rien...
Donc vos formules et macros doivent traiter de manière différente les cellules colorées volontairement (j'allais dire manuellement) et celles qui se colorent en fonction de l'assistant "Mise en forme conditionnelle".
VincentG , tu te rends à l'évidence quand tu rédiges ton tout dernier post ...
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
29 nov. 2007 à 16:33
29 nov. 2007 à 16:33
Bonjour tout le monde,
Effectivement la propriété ne retourne pas la couleur d'une mise en forme conditionnelle mais toujours la couleur 'cachée dessous'. J'ai étendu le résultat de mes test faits sur une mise en forme automatique (c'est bien ce qui était demandé au post 1) un peu vite...
Par contre là je n'ai aucune idée de comment la tester...
Vu que cette couleur répond à une formule test 'vrai', il faudrait plutôt reprendre cette formule saisie dans le format conditionnel, l'appliquer sur les valeurs des cellules et compter combien répondent à ce test sur la plage.
Faisable par formule.
eric
Effectivement la propriété ne retourne pas la couleur d'une mise en forme conditionnelle mais toujours la couleur 'cachée dessous'. J'ai étendu le résultat de mes test faits sur une mise en forme automatique (c'est bien ce qui était demandé au post 1) un peu vite...
Par contre là je n'ai aucune idée de comment la tester...
Vu que cette couleur répond à une formule test 'vrai', il faudrait plutôt reprendre cette formule saisie dans le format conditionnel, l'appliquer sur les valeurs des cellules et compter combien répondent à ce test sur la plage.
Faisable par formule.
eric
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
29 nov. 2007 à 19:12
29 nov. 2007 à 19:12
Pour compléter ma réponse vu que j'ai eu un peu plus de temps, le compte peut s'effectuer avec sommeprod().
Par exemple si la plage avec format conditionnel est A2:D6 et la formule est: =$E$1
On a le compte de cellules remplissant ce critère avec :
=SOMMEPROD(($A$2:$D$6=$E$1)*1)
eric
Par exemple si la plage avec format conditionnel est A2:D6 et la formule est: =$E$1
On a le compte de cellules remplissant ce critère avec :
=SOMMEPROD(($A$2:$D$6=$E$1)*1)
eric
VincentG
Messages postés
49
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
29 nov. 2007 à 18:52
29 nov. 2007 à 18:52
bah oui je m'en rend compte au dernier moment :)
il faut dire aussi que je suis très occupé (je suis étudiant en apprentissage overbooké et je suis papa à 22 ans)
quoi qu'il en soit, j'apprécie vos interventions
merci
il faut dire aussi que je suis très occupé (je suis étudiant en apprentissage overbooké et je suis papa à 22 ans)
quoi qu'il en soit, j'apprécie vos interventions
merci