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

CELLULE(type_info;A1)

9 réponses
Avatar
LANIMAL
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le contenu de
A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci

9 réponses

Avatar
Ellimac
Bonjour,

Tu peux créer une fonction personnalisée à mettre dans le Perso.XLS:

Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function

Camille


"LANIMAL" a écrit dans le message de news:
%
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le contenu de
A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci


Avatar
LSteph
Bonjour,

Ce serait plussimple en VBA
mais même en mettant volatile un format ne se recalcule pas tu seras
obligé de refaire F2 et entrée
donc idem en formule, pour cela il te faut,

Te mettre en C4 pour lire B4 par exemple et
définir un
nom: lirsiB
ref à: =LIRE.CELLULE(23;Feuil1!B4)


ensuite en c4 tu écris =lirsiB

Cordialement.

--
lSteph
On 4 nov, 11:08, LANIMAL wrote:
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le contenu de
A1 est "barré".
Par exemple, dans

     CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci


Avatar
LANIMAL
Merci de ton attention,
J'ai bien un peu avancé (lentement !) dans VBA,
mais jusqu'alors j'ai toujours butté sur la création de fonction
personnalisée.
Il me manque probablement un truc élémentaire.

J'ai donc ouvert le Module3 dans PERSO.XLS
J'y ai Copié-Collé ton code :
---------------
Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function
-----------------
J'ai enregistré PERSO.XLS

- Je saisi "coucou" dans A1 du classeur toto.xls,
- Je formate A1 en attrbut "Barré"
- Quand j'écris dans la cellule C1 : ºrré(A1)
la réponse est #NOM?
Alors je me doute que j'ignore quelque chose.... mais quoi ?

Merci beaucoup.


Ellimac a écrit :
Bonjour,

Tu peux créer une fonction personnalisée à mettre dans le Perso.XLS:

Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function

Camille


"LANIMAL" a écrit dans le message de news:
%
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le contenu de
A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci






Avatar
isabelle
bonjour Lanimal,

=PERSO.XLS!Barré(A1)

regarde dans les Fx (fonction de la feuille de calcul),
la fonction Perso!Barré est sous la catégorie "Personnalisées"

isabelle

LANIMAL a écrit :
Merci de ton attention,
J'ai bien un peu avancé (lentement !) dans VBA,
mais jusqu'alors j'ai toujours butté sur la création de fonction
personnalisée.
Il me manque probablement un truc élémentaire.

J'ai donc ouvert le Module3 dans PERSO.XLS
J'y ai Copié-Collé ton code :
---------------
Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function
-----------------
J'ai enregistré PERSO.XLS

- Je saisi "coucou" dans A1 du classeur toto.xls,
- Je formate A1 en attrbut "Barré"
- Quand j'écris dans la cellule C1 : ºrré(A1)
la réponse est #NOM?
Alors je me doute que j'ignore quelque chose.... mais quoi ?

Merci beaucoup.


Ellimac a écrit :
Bonjour,

Tu peux créer une fonction personnalisée à mettre dans le Perso.XLS:

Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function

Camille


"LANIMAL" a écrit dans le message de news:
%
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le
contenu de A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci








Avatar
michdenis
Bonjour Lanimal

Si ta fonction personnalisée est écrite dans un module standard
de ton classeur perso.xls, voici la syntaxe à utiliser :

=PERSONAL.XLSB!barré(H30)
Ou
=Perso.xls!Barré(H30)

Si tu places ta fonction dans un module standard dudit classeur
où tu veux l'appliquer, tu n'auras pas besoin de faire référence au
classeur.

Il y a toujours la possibilité de passer ton classeur perso.xls en référence
au classeur ouvert, mais ça, c'est une autre affaire !



"LANIMAL" a écrit dans le message de groupe de discussion :

Merci de ton attention,
J'ai bien un peu avancé (lentement !) dans VBA,
mais jusqu'alors j'ai toujours butté sur la création de fonction
personnalisée.
Il me manque probablement un truc élémentaire.

J'ai donc ouvert le Module3 dans PERSO.XLS
J'y ai Copié-Collé ton code :
---------------
Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function
-----------------
J'ai enregistré PERSO.XLS

- Je saisi "coucou" dans A1 du classeur toto.xls,
- Je formate A1 en attrbut "Barré"
- Quand j'écris dans la cellule C1 : ºrré(A1)
la réponse est #NOM?
Alors je me doute que j'ignore quelque chose.... mais quoi ?

Merci beaucoup.


Ellimac a écrit :
Bonjour,

Tu peux créer une fonction personnalisée à mettre dans le Perso.XLS:

Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function

Camille


"LANIMAL" a écrit dans le message de news:
%
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le contenu de
A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci






Avatar
LANIMAL
Merci à Isabelle et toi,
ça marche.
En plus je n'ai pas le pb de relancer le calcul comme le signalait
LSteph, car en fait, la fonction Barré intervient dans une mise en forme
conditionnelle qui réagit à une simple modif de format.
Voici la condition, utilisée pour passer le fond en Vert :
=ET($A1™;Barré($A1)=1)

Par contre, j'ai dû remplacer True et False dans la Function,
et dans la condition ci-dessus par 1 et 0
Avec True et False, ça ne marchait pas ! ?
Merci de votre aide.

michdenis a écrit :
Bonjour Lanimal

Si ta fonction personnalisée est écrite dans un module standard
de ton classeur perso.xls, voici la syntaxe à utiliser :

=PERSONAL.XLSB!barré(H30)
Ou
=Perso.xls!Barré(H30)

Si tu places ta fonction dans un module standard dudit classeur
où tu veux l'appliquer, tu n'auras pas besoin de faire référence au
classeur.

Il y a toujours la possibilité de passer ton classeur perso.xls en référence
au classeur ouvert, mais ça, c'est une autre affaire !



"LANIMAL" a écrit dans le message de groupe de discussion :

Merci de ton attention,
J'ai bien un peu avancé (lentement !) dans VBA,
mais jusqu'alors j'ai toujours butté sur la création de fonction
personnalisée.
Il me manque probablement un truc élémentaire.

J'ai donc ouvert le Module3 dans PERSO.XLS
J'y ai Copié-Collé ton code :
---------------
Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function
-----------------
J'ai enregistré PERSO.XLS

- Je saisi "coucou" dans A1 du classeur toto.xls,
- Je formate A1 en attrbut "Barré"
- Quand j'écris dans la cellule C1 : ºrré(A1)
la réponse est #NOM?
Alors je me doute que j'ignore quelque chose.... mais quoi ?

Merci beaucoup.


Ellimac a écrit :
Bonjour,

Tu peux créer une fonction personnalisée à mettre dans le Perso.XLS:

Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function

Camille


"LANIMAL" a écrit dans le message de news:
%
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le contenu de
A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci







Avatar
LANIMAL
Merci LSteph de ton attention,
Comme je le dis à Isa et Mich, il a fallu que je me familiarise d'abord
avec la création et l'utilisation de Fonction personnalisée.
Dans mon cas le pb de re-calcul ne se pose pas.
Merci pour ta proposition.
Je ne suis pas clair avec " ref à: =LIRE.CELLULE(23;Feuil1!B4) "
je suis un peu à la bourre, et je vais reprendre ça dans la soirée ou
demain, pour apprendre un peu plus encore.
Merci


LSteph a écrit :
Bonjour,

Ce serait plussimple en VBA
mais même en mettant volatile un format ne se recalcule pas tu seras
obligé de refaire F2 et entrée
donc idem en formule, pour cela il te faut,

Te mettre en C4 pour lire B4 par exemple et
définir un
nom: lirsiB
ref à: =LIRE.CELLULE(23;Feuil1!B4)


ensuite en c4 tu écris =lirsiB

Cordialement.

--
lSteph
On 4 nov, 11:08, LANIMAL wrote:
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le contenu de
A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci





Avatar
LANIMAL
Bonsoir,
OUF ! ! !
Peut-être le saviez-vous, VBA n'aime pas du tout ce que j'ai fait ! ! !
Il semble que l'utilisation de la fonction personnalisée ne soit pas
tolérée dans la condition d'un format conditionnel.

Je constate qu'une autre macro se plante lors de la copie-insertion
d'une ligne qui comprend une cellule ainsi formatée conditionnellement.

Alors donc j'abandonne sans bien comprendre. Il faut savoir ne pas
vouloir aller là où on ne sait pas.
Mais merci pour vos aides, j'ai appris des choses.


michdenis a écrit :
Bonjour Lanimal

Si ta fonction personnalisée est écrite dans un module standard
de ton classeur perso.xls, voici la syntaxe à utiliser :

=PERSONAL.XLSB!barré(H30)
Ou
=Perso.xls!Barré(H30)

Si tu places ta fonction dans un module standard dudit classeur
où tu veux l'appliquer, tu n'auras pas besoin de faire référence au
classeur.

Il y a toujours la possibilité de passer ton classeur perso.xls en référence
au classeur ouvert, mais ça, c'est une autre affaire !



"LANIMAL" a écrit dans le message de groupe de discussion :

Merci de ton attention,
J'ai bien un peu avancé (lentement !) dans VBA,
mais jusqu'alors j'ai toujours butté sur la création de fonction
personnalisée.
Il me manque probablement un truc élémentaire.

J'ai donc ouvert le Module3 dans PERSO.XLS
J'y ai Copié-Collé ton code :
---------------
Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function
-----------------
J'ai enregistré PERSO.XLS

- Je saisi "coucou" dans A1 du classeur toto.xls,
- Je formate A1 en attrbut "Barré"
- Quand j'écris dans la cellule C1 : ºrré(A1)
la réponse est #NOM?
Alors je me doute que j'ignore quelque chose.... mais quoi ?

Merci beaucoup.


Ellimac a écrit :
Bonjour,

Tu peux créer une fonction personnalisée à mettre dans le Perso.XLS:

Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function

Camille


"LANIMAL" a écrit dans le message de news:
%
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le contenu de
A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci







Avatar
FS
Bonjour,

> Il semble que l'utilisation de la fonction personnalisée ne soit pas
> tolérée dans la condition d'un format conditionnel.

Ce n'est pas tout à fait cela (et heureusement :).
La fonction personnalisée ne doit pas être enregistrée dans un autre
classeur que celui où tu l'utilises pour une MEFC. Et perso.xls, par
exemple, est un autre classeur.
Par contre, si ta fonction perso est dans un module ordinaire de ton
classeur, pas de problème.
Par exemple :

'=========Úns un module ordinaire
Function bidon(cell) As Boolean
bidon = IsNumeric(cell.Value)
End Function
'=================================
Ensuite, dans le même classeur, tu peux parfaitement avoir une MEFC
basée sur cette fonction en choisissant 'La formule est' et en
saisissant =bidon(A1).
Attention cependant à l'utilisation de fonctions persos dans les MEFC :
leur lenteur peut poser problème sur de grandes plages de données
lorsque les recalculs sont fréquents.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

LANIMAL a écrit :
Bonsoir,
OUF ! ! !
Peut-être le saviez-vous, VBA n'aime pas du tout ce que j'ai fait ! ! !
Il semble que l'utilisation de la fonction personnalisée ne soit pas
tolérée dans la condition d'un format conditionnel.

Je constate qu'une autre macro se plante lors de la copie-insertion
d'une ligne qui comprend une cellule ainsi formatée conditionnellement.

Alors donc j'abandonne sans bien comprendre. Il faut savoir ne pas
vouloir aller là où on ne sait pas.
Mais merci pour vos aides, j'ai appris des choses.


michdenis a écrit :
Bonjour Lanimal

Si ta fonction personnalisée est écrite dans un module standard
de ton classeur perso.xls, voici la syntaxe à utiliser :

=PERSONAL.XLSB!barré(H30)
Ou
=Perso.xls!Barré(H30)

Si tu places ta fonction dans un module standard dudit classeur
où tu veux l'appliquer, tu n'auras pas besoin de faire référence au
classeur.

Il y a toujours la possibilité de passer ton classeur perso.xls en
référence
au classeur ouvert, mais ça, c'est une autre affaire !



"LANIMAL" a écrit dans le message de groupe de
discussion :
Merci de ton attention,
J'ai bien un peu avancé (lentement !) dans VBA,
mais jusqu'alors j'ai toujours butté sur la création de fonction
personnalisée.
Il me manque probablement un truc élémentaire.

J'ai donc ouvert le Module3 dans PERSO.XLS
J'y ai Copié-Collé ton code :
---------------
Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function
-----------------
J'ai enregistré PERSO.XLS

- Je saisi "coucou" dans A1 du classeur toto.xls,
- Je formate A1 en attrbut "Barré"
- Quand j'écris dans la cellule C1 : ºrré(A1)
la réponse est #NOM?
Alors je me doute que j'ignore quelque chose.... mais quoi ?

Merci beaucoup.


Ellimac a écrit :
Bonjour,

Tu peux créer une fonction personnalisée à mettre dans le Perso.XLS:

Public Function Barré(Cellule)
Application.Volatile
If Cellule.Font.Strikethrough = True Then
Barré = True
Else
Barré = False
End If
End Function

Camille


"LANIMAL" a écrit dans le message de news:
%
Bonjour,
Existe-t-il dans EXCEL une formule qui permet de savoir si le
contenu de
A1 est "barré".
Par exemple, dans

CELLULE(type_info;A1)

existe-il un "type_info" qui conditionne la réponse
selon que A1 est barré ou non ?

ou autre moyen ?
Merci