Existe-t-il une formule permettant de compter, dans une plage de cellules
(ex: A1:A50), combien de cellules contiennent des données (chiffres ou texte)
possédant l'attribut gras ?
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
Et pourquoi certaines cellules sont en gras ????
--
A+
Papy Bernard (RTCien malgré lui)
Ceci devrait faire l'affaire ( à adpater, améliorer, etc )
Dans un module standard :
Function BoldCell(Range, Optional Gras)
Dim Cell As Object
For Each Cell In Range
If Cell.Font.Bold = True And Not IsEmpty(Cell) Then _
BoldCell = BoldCell + Cell
Next Cell
End Function
Dans la cellule où sera récupéré le nombre :
=BoldCell(A1:A20)
Pounet95
On trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)
"butch" <nospam...@hotmail.com> a écrit dans le message de news:
8FD602EE-5593-46A3...@microsoft.com...
En voilà une réponse qui fait avancer le schmilblik !!! ça vaut vraiment
le coup d'avoir une connection Internet....
Par formule, je dirais non...En VBA, peut-être un truc du genre :
Sub test()
For Each c In Range("A1:A10")
If c.Font.Bold = True Then az = az + 1
Next
MsgBox az
End Sub
--
@+ thierryp
------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (Courteline)
------------------------
Papy Bernard a écrit :
Mon message n'est pas une réponse mais une question !!!!!!
Tout d'abord merci pour ton intervention.
Toutefois, lorsque j'essaie d'utiliser le code que tu as proposé, j'obtiens :
1) Dans la cellule où =BoldCell(A1:A20) est inscrit le fameux message
#Valeur.
2) À l'ouverture du débogueur VBA, un message m'indique : Erreur de
compilation. Next sans For.
Bon... je ne suis vraiment pas à l'aise en VBA. Je comprend bien le sens
des lignes de code que tu as proposées mais voilà... je ne sais pas comment
régler ce problème.
Merci à l'avance si tu peux m'éclairer davantage..!
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
"Pounet95" a écrit :
En réponse à ta question....
Les cellules sont mises en gras par une "Mise en forme conditionnelle" afin
de les faire ressortir, visuellement, par rapport aux autres cellules dans la
même plage.
Mon objectif, par ma question, est de faire inscrire, dans une cellule
située sous la plage en question, le nombre de cellules en gras.
Voilà..!
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
"Papy Bernard" a écrit :
> 2) À l'ouverture du débogueur VBA, un message m'indique : Erreur de
> compilation. Next sans For.
ceci n'est qu'un seule intruction sur une seule ligne :
If Cell.Font.Bold = True And Not IsEmpty(Cell) Then BoldCell = BoldCell
+ Cell
en recopiant IE à tendance à occulter le caractère de continuité "_"
> > Dans un module standard :
> >
> > Function BoldCell(Range, Optional Gras)
> > Dim Cell As Object
> > For Each Cell In Range
> > If Cell.Font.Bold = True And Not IsEmpty(Cell) Then _
> > BoldCell = BoldCell + Cell
> > Next Cell
> > End Function
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
Sinon, avec la correction préconisée par Modeste, ça fonctionne ?
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)
"Modeste" <nom...@nomail.net> a écrit dans le message de news:
uFOdr2tZ...@TK2MSFTNGP04.phx.gbl...
Compte les cellules en gras:
Dans le tableur: =comptegras(A2:B7)
Dans un module:
Function CompteGras(champ As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Font.Bold Then temp = temp + 1
Next c
CompteGras = temp
End Function
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate 'maj
End Sub
OK... plus de message d'erreur avec la solution de "Modeste".
Toutefois, le nombre retourné est incorrect. Après les tests dans les
cellules A1 à A30 dans lesquelles il n'y a que 3 cellules en gras, le
résultat affiché est : 78,66666667 !
Omission (involontaire...) de ma part dans le message original : Les
cellules impliquées possèdent une "Mise en forme conditionnelle" faisant
automatiquement affciher des chiffres en gras en les comparant à un chiffre
"source". Serait-ce là la cause de ce résultat erroné ?
Encore merci !
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
"Modeste" a écrit :
Ben voilà !
Dis nous la condition qui sert à dans la MEFC, un petit coup vraisemblablement
de SOMMEPROD et tu auras répondu à ta question !
AV
Excellent ! La procédure que tu as inscrite fonctionne à merveille.
Gros Merci.
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
"JB" a écrit :
Merci pour ton intervention... la solution a été trouvée. S.V.P. voir ma
réponse au message de JB.
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
"AV" a écrit :
D'une façon générale mais surtout quand la mise en forme dépend d'une MEFC,
c'est vraiment une totale hérésie que de récourir à une fonction perso qui
nécessite, pour une mise à jour (très hypothétique) des résultats, une proc
évènementielle qui ne sera par forcément enclenchée après un changement de
format et donc risque d'affichage de résultats erronés !
C'est toi qui vois....surprises à venir à peu près garanties
AV
----------
Ange Ounis
----------
AV a écrit :
Bon... j'ai bien lu vos remarques. Alors... compte tenu des explications que
j'ai données et afin d'éviter ce que toi et Ange Ounis avez mentionné, quelle
formule dois-je utiliser (puisqu'une "proc" ne semble pas OK...) afin
d'atteindre mon objectif ?
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
"AV" a écrit :
> | Merci pour ton intervention... la solution a été trouvée.
-Si la MFC est >100, utiliser =Nbval(champ)
-Si la MFC est compris entre 100 et 200, utiliser
=SommeProd((champ>=100)*(champ<=200))
JB
Je ne peux que souscrire...;-)
AV
Tu as dit précédemment :
"Les cellules sont mises en gras par une "Mise en forme conditionnelle"
Il suffit que tu donnes la formule ou la condition qui active la MEFC
Il suffira ensuite de dénombrer sous condition
AV
[A10].Calculate n'est pas pénalisant.
JB
----------
Ange Ounis
----------
JB a écrit :
Encore que "[A10].Calculate" ne limite absolument pas le recalcul à la cellule
A10 mais à l'ensemble des formules/cellules de la feuille...
AV
----------
Ange Ounis
----------
AV a écrit :
après test je constate que ce n'est plus le cas sur la version 2002, et j'en suis la première surprise.
il faut quant même que "Calculate" soit à la position xlManual, pour qu'un recalcul se fasse uniquement sur une plage déterminer.
mais il faudrait faire des tests plus appronfondi, par exemple que se passera t'il suite à l'exécution des macros événementielle.
isabelle
AV a écrit :
isabelle
AV a écrit :
Heu... Oui...si "recalcul avant enregistrement" est coché dans les options de
Calcul
AV
isabelle
AV a écrit :
Voici la condition de la "MEFC" :
La valeur de la cellule est .... égale à .... (ici, il y a l'adresse de la
cellule à comparer).
Ex: Si la donnée dans B3 est égale à ce qu'il y a dans B75, alors la donnée
dans B3 doit être mise en GRAS.
Voilà... j'espère que j'ai bien expliqué la situation !
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
"AV" a écrit :
> |...quelle formule dois-je utiliser (puisqu'une "proc" ne semble pas OK...) afin
=NB.SI(Plage_à_examiner;Valeur_à_trouver)
AV
> =NB.SI(Plage_à_examiner;Valeur_à_trouver)
OK... mais comment trouver, dans la "Plage_à_examiner" les cellules
contenant des chiffres en gras soit... "Valeur_à_trouver" ?
Actuellement, je ne vois vraiment pas commet NB.SI peut faire ce travail !
Merci encore.
--
Merci pour votre aide :-)
Butch
P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
"AV" a écrit :
> | Voici la condition de la "MEFC" :
Laisse tomber les "chiffres en gras" ..
Demande toi pourquoi ils sont en gras et ce pourquoi servira de critère de
dénombrement
Si tu nous mettais un bout de fichier exemple ça éviterait les "prêches dans le
désert" ;-)
AV
D'"AV"
> Laisse tomber les "chiffres en gras" ..
> Demande toi pourquoi ils sont en gras et ce pourquoi servira de critère de
> dénombrement
C'était le fond de ma question.
Mais voilà, les usines à gaz qui autorisent les **fioritures** conduisent,
"a posteriori", au prix de contorsions de programmation, à des questions de
ce genre.
Pourquoi faire simple quand on peut faire compliqué.
--
A+
Papy Bernard (RTCien malgré lui)
Elle (la question) était fondée.
| Mais voilà, les usines à gaz qui autorisent les **fioritures**
|.................
Cette rengaine n'a strictement aucun intérêt...
AV