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

Reconnaître les cellules qui contiennent des formules ?

9 réponses
Avatar
Michel PICHOU
Bonjour, je suis un peu bavard depuis qq jours, mais rassurez-vous je vais
me calmer ! !
Excel 2000 / W98
1. - Je cherche un moyen de reconnaître une/des cellule(s) contenant une
formule (et donc pas de constante nombre ou texte, ni vide bien sûr) ?
Par analogie par ex. avec les "fonctions d'information" telles que
ESTVIDE(valeur), ESTTEXTE (valeur), ESTNUM(valeur), etc.
2. - Suis aussi intéressé par un moyen de compter, dans une zone donnée, le
nb de cellules qui contiennent des formules (bien sûr, une solution à la
première question permettrait de répondre, indirectement, à la seconde).
Grand merci à mon (mes) sauveur(s). Depuis des années j'ai butté
plusieurs fois sur ce pb.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.665 / Virus Database: 428 - Release Date: 21/04/04

9 réponses

Avatar
Philippe.R
Bonsoir Michel,
Ce code, à placer dans un module ordinaire, en ayant nommé "plage" la zone à examiner fera le travail

Sub sel_formules()
With Range("plage")
Cells.SpecialCells(xlCellTypeFormulas).Interior.ColorIndex = 3
End With
'affiche le nombre de cellules en B1
[b1] = Cells.SpecialCells(xlCellTypeFormulas).Count
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"Michel PICHOU" a écrit dans le message de
news:%
Bonjour, je suis un peu bavard depuis qq jours, mais rassurez-vous je vais
me calmer ! !
Excel 2000 / W98
1. - Je cherche un moyen de reconnaître une/des cellule(s) contenant une
formule (et donc pas de constante nombre ou texte, ni vide bien sûr) ?
Par analogie par ex. avec les "fonctions d'information" telles que
ESTVIDE(valeur), ESTTEXTE (valeur), ESTNUM(valeur), etc.
2. - Suis aussi intéressé par un moyen de compter, dans une zone donnée, le
nb de cellules qui contiennent des formules (bien sûr, une solution à la
première question permettrait de répondre, indirectement, à la seconde).
Grand merci à mon (mes) sauveur(s). Depuis des années j'ai butté
plusieurs fois sur ce pb.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.665 / Virus Database: 428 - Release Date: 21/04/04




Avatar
LeSteph
Bonjour,
Cette petite macro
en réponse au (2) affiche un message
en réponse au (1) sélectionne les cellules formule
(liberté de les mettre en forme en sortie )
A affecter éventuellement à un bouton ou outil
Réponse en fonction de la sélection
sinon une seule cellule=> toute la feuille
Dans module:

Sub tstcountcel()
On Error GoTo sortie

MsgBox (Selection.SpecialCells(xlCellTypeFormulas).Count & " cellules
contiennent une formule")
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
GoTo fini
sortie:
MsgBox "pas de référence pour cette sélection"
fini:
End Sub


LeSteph

"Michel PICHOU" a écrit dans le message de
news:%
Bonjour, je suis un peu bavard depuis qq jours, mais rassurez-vous je vais
me calmer ! !
Excel 2000 / W98
1. - Je cherche un moyen de reconnaître une/des cellule(s) contenant une
formule (et donc pas de constante nombre ou texte, ni vide bien sûr) ?
Par analogie par ex. avec les "fonctions d'information" telles que
ESTVIDE(valeur), ESTTEXTE (valeur), ESTNUM(valeur), etc.
2. - Suis aussi intéressé par un moyen de compter, dans une zone donnée,
le

nb de cellules qui contiennent des formules (bien sûr, une solution à la
première question permettrait de répondre, indirectement, à la seconde).
Grand merci à mon (mes) sauveur(s). Depuis des années j'ai butté
plusieurs fois sur ce pb.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.665 / Virus Database: 428 - Release Date: 21/04/04




Avatar
LeSteph
Attention pas de retour chariot après cellules
Msgbox(.........." cellules contiennent une formule")

C'est Outlook Qui coupe..devrais m'en souvenir


"LeSteph" a écrit dans le message de
news:409de68b$0$13081$
Bonjour,
Cette petite macro
en réponse au (2) affiche un message
en réponse au (1) sélectionne les cellules formule
(liberté de les mettre en forme en sortie )
A affecter éventuellement à un bouton ou outil
Réponse en fonction de la sélection
sinon une seule cellule=> toute la feuille
Dans module:

Sub tstcountcel()
On Error GoTo sortie

MsgBox (Selection.SpecialCells(xlCellTypeFormulas).Count & " cellules
contiennent une formule")
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
GoTo fini
sortie:
MsgBox "pas de référence pour cette sélection"
fini:
End Sub


LeSteph

"Michel PICHOU" a écrit dans le message de
news:%
Bonjour, je suis un peu bavard depuis qq jours, mais rassurez-vous je
vais


me calmer ! !
Excel 2000 / W98
1. - Je cherche un moyen de reconnaître une/des cellule(s) contenant une
formule (et donc pas de constante nombre ou texte, ni vide bien sûr) ?
Par analogie par ex. avec les "fonctions d'information" telles que
ESTVIDE(valeur), ESTTEXTE (valeur), ESTNUM(valeur), etc.
2. - Suis aussi intéressé par un moyen de compter, dans une zone donnée,
le

nb de cellules qui contiennent des formules (bien sûr, une solution à la
première question permettrait de répondre, indirectement, à la seconde).
Grand merci à mon (mes) sauveur(s). Depuis des années j'ai butté
plusieurs fois sur ce pb.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.665 / Virus Database: 428 - Release Date: 21/04/04








Avatar
Philippe.R
Bonjour,
Juste pour le plaisir, une variante :

Sub tstcountcel_bis()
Dim cOmEnTr As String, nBcEl As Long

On Error GoTo sortie
nBcEl = Selection.SpecialCells(xlCellTypeFormulas).Count
cOmEnTr = " cellule" & IIf(nBcEl > 1, "s", "") & _
" contien" & IIf(nBcEl > 1, "nent", "t") & " une formule"
MsgBox (nBcEl & cOmEnTr)
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
GoTo fini
sortie:
MsgBox "pas de référence pour cette sélection"
fini:
End Sub


--
Amicales Salutations

"LeSteph" a écrit dans le message de news:409de68b$0$13081$
Bonjour,
Cette petite macro
en réponse au (2) affiche un message
en réponse au (1) sélectionne les cellules formule
(liberté de les mettre en forme en sortie )
A affecter éventuellement à un bouton ou outil
Réponse en fonction de la sélection
sinon une seule cellule=> toute la feuille
Dans module:

Sub tstcountcel()
On Error GoTo sortie

MsgBox (Selection.SpecialCells(xlCellTypeFormulas).Count & " cellules
contiennent une formule")
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
GoTo fini
sortie:
MsgBox "pas de référence pour cette sélection"
fini:
End Sub


LeSteph

"Michel PICHOU" a écrit dans le message de
news:%
Bonjour, je suis un peu bavard depuis qq jours, mais rassurez-vous je vais
me calmer ! !
Excel 2000 / W98
1. - Je cherche un moyen de reconnaître une/des cellule(s) contenant une
formule (et donc pas de constante nombre ou texte, ni vide bien sûr) ?
Par analogie par ex. avec les "fonctions d'information" telles que
ESTVIDE(valeur), ESTTEXTE (valeur), ESTNUM(valeur), etc.
2. - Suis aussi intéressé par un moyen de compter, dans une zone donnée,
le

nb de cellules qui contiennent des formules (bien sûr, une solution à la
première question permettrait de répondre, indirectement, à la seconde).
Grand merci à mon (mes) sauveur(s). Depuis des années j'ai butté
plusieurs fois sur ce pb.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.665 / Virus Database: 428 - Release Date: 21/04/04








Avatar
AV
Hum...
Avec des formules en A1:A5
Sélection de A2:A3 --> Résultat attendu : 2 (cellules avec formule)
--> l'une ou l'autre des macros proposées --> Résultat : 2
Tout va bien !
Sélection de A2 --> Résultat attendu : 1 (cellule avec formule)
--> l'une ou l'autre des macros proposées --> Résultat : 5
Tout va mal !
Sélection d'une quelconque cellule vide de la feuille --> Résultat attendu : 0
(cellule avec formule)
--> l'une ou l'autre des macros proposées --> Résultat : 5
Tout va encore mal !

;-)
AV
Avatar
LeSteph
Bonsoir,
si je puis me permettre une rectification AV à ton expopsé:
C'est expliqué et par défaut:
Si une seule cellule>>>> recherche dans toute la feuille
est le principe de sélection voulu cf. Messages Précédents:
,
...........> >.......l
Réponse en fonction de la sélection
sinon une seule cellule=> toute la feuille

Dans module .........


Salutations amicales

LeSteph

"AV" a écrit dans le message de
news:
Hum...
Avec des formules en A1:A5
Sélection de A2:A3 --> Résultat attendu : 2 (cellules avec formule)
--> l'une ou l'autre des macros proposées --> Résultat : 2
Tout va bien !
Sélection de A2 --> Résultat attendu : 1 (cellule avec formule)
--> l'une ou l'autre des macros proposées --> Résultat : 5
Tout va mal !
Sélection d'une quelconque cellule vide de la feuille --> Résultat
attendu : 0

(cellule avec formule)
--> l'une ou l'autre des macros proposées --> Résultat : 5
Tout va encore mal !

;-)
AV






Avatar
LeSteph
Hello,
Sub Alors vraiment juste pour le plaisir()
...if no cell contains formula then
i think you see what
else..i believe it..

End If
End sub

lol (amical)

;~)) LeSteph

"Philippe.R" a écrit dans le message de
news:
Bonjour,
Juste pour le plaisir, une variante :

Sub tstcountcel_bis()
Dim cOmEnTr As String, nBcEl As Long

On Error GoTo sortie
nBcEl = Selection.SpecialCells(xlCellTypeFormulas).Count
cOmEnTr = " cellule" & IIf(nBcEl > 1, "s", "") & _
" contien" & IIf(nBcEl > 1, "nent", "t") & " une formule"
MsgBox (nBcEl & cOmEnTr)
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
GoTo fini
sortie:
MsgBox "pas de référence pour cette sélection"
fini:
End Sub


--
Amicales Salutations

"LeSteph" a écrit dans le message de
news:409de68b$0$13081$

Bonjour,
Cette petite macro
en réponse au (2) affiche un message
en réponse au (1) sélectionne les cellules formule
(liberté de les mettre en forme en sortie )
A affecter éventuellement à un bouton ou outil
Réponse en fonction de la sélection
sinon une seule cellule=> toute la feuille
Dans module:

Sub tstcountcel()
On Error GoTo sortie

MsgBox (Selection.SpecialCells(xlCellTypeFormulas).Count & " cellules
contiennent une formule")
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
GoTo fini
sortie:
MsgBox "pas de référence pour cette sélection"
fini:
End Sub


LeSteph

"Michel PICHOU" a écrit dans le message de
news:%
Bonjour, je suis un peu bavard depuis qq jours, mais rassurez-vous je
vais



me calmer ! !
Excel 2000 / W98
1. - Je cherche un moyen de reconnaître une/des cellule(s) contenant
une



formule (et donc pas de constante nombre ou texte, ni vide bien sûr) ?
Par analogie par ex. avec les "fonctions d'information" telles que
ESTVIDE(valeur), ESTTEXTE (valeur), ESTNUM(valeur), etc.
2. - Suis aussi intéressé par un moyen de compter, dans une zone
donnée,



le
nb de cellules qui contiennent des formules (bien sûr, une solution à
la



première question permettrait de répondre, indirectement, à la
seconde).



Grand merci à mon (mes) sauveur(s). Depuis des années j'ai butté
plusieurs fois sur ce pb.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.665 / Virus Database: 428 - Release Date: 21/04/04












Avatar
AV
C'est expliqué et par défaut:
Si une seule cellule>>>> recherche dans toute la feuille


Ok pour l'explication mais c'est justement ce que je trouve très bizarre ....
Comme il y avait dans la question initiale :
"...Par analogie par ex. avec les "fonctions d'information...."
On aurait pu proposer un truc du genre

Function testF(plage As Range)
For Each c In plage
If c.HasFormula Then x = x + 1
Next
testF = x
End Function

Mais bon... le questionneur prendra ce qu'il voudra....

AV

Avatar
LeSteph
Oui, il voulait peut-être une fonction, tu as raison...
J'espère surtout qu'il verra bien qu'outlook a coupé et mis retour chariot
dans une des lignes du code que j'ai proposé,sinon ça va planter.
@+

LeSteph

"AV" a écrit dans le message de
news:
C'est expliqué et par défaut:
Si une seule cellule>>>> recherche dans toute la feuille


Ok pour l'explication mais c'est justement ce que je trouve très bizarre
....

Comme il y avait dans la question initiale :
"...Par analogie par ex. avec les "fonctions d'information...."
On aurait pu proposer un truc du genre

Function testF(plage As Range)
For Each c In plage
If c.HasFormula Then x = x + 1
Next
testF = x
End Function

Mais bon... le questionneur prendra ce qu'il voudra....

AV