[Résolu] Erreur #NOM avec fonction ET, SI, TEXTE

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
fonfonsd
Membre OOrganisé
Membre OOrganisé
Messages : 55
Inscription : 04 août 2022 10:00
Localisation : BLOIS

[Résolu] Erreur #NOM avec fonction ET, SI, TEXTE

Message par fonfonsd »

Bonjour

lorsque j'essaye cette formule

Code : Tout sélectionner

=SI(ET($C$2<>'';$C$3<>'');TEXTE(D8;'jjjj')&' '&TEXTE(D8;'jj');"''))
dans un tableur CALC j'obtiens en résultat le message d'erreur en titre.

c'est pour un affichage des dates et jours, et que cela n'affiche rien si pas de jour comme le 30 février par exemple.

La ligne 7 sera cachée ensuite

ma source est cette explication là
Ligne d'entête du planning - Les jours de semaine
Pour pallier le problème que nous venons d'identifier afin de tronquer l'énumération lorsque la fin du mois est atteinte, ce sont les calculs Excel qui vont offrir la solution. Il s'agira de vérifier que le mois de la date proposée en ligne 8 est bien le même que celui de la toute première cellule de la même ligne. Le calcul pour la création de cette ligne d'entête ne doit se déclencher que si deux conditions sont vérifiées ensemble. L'année et le mois doivent être définis. En d'autres termes, les cellules C2 et C3 ne doivent pas être vides. Pour recouper ces conditions dans la zone de critère de la fonction Excel Si, nous devons donc exploiter la fonction ET permettant de les énumérer. Commençons par le calcul de référence, le seul qui ne sera pas à répliquer. Il s'agit d'extraire le jour de semaine de la date. La fonction Excel Texte permet de transformer une date en texte selon un format qui lui est passé en second paramètre.

Sélectionner la cellule D9 et taper le symbole = pour débuter le calcul,
Saisir le nom de la fonction conditionnelle suivi d'une parenthèse ouvrante, soit Si(,
Saisir le nom de la fonction pour recouper les critères et ouvrir la parenthèse, soit Et(,
Taper le critère suivant en figeant la cellule : $C$2<>'' pour vérifier que l'année n'est pas vide,
Taper un point-virgule (;) pour passer au critère suivant,
Taper le critère vérifiant que le mois n'est pas vide, soit $C$3<>'', en figeant la cellule,
Fermer la parenthèse de la fonction et taper un point-virgule pour passer dans la branche Alors de la fonction Si,
Saisir le nom de la fonction permettant la conversion suivi d'une parenthèse, soit Texte(,
Sélectionner la date à convertir, soit la cellule D8 et taper un point-virgule,
Entre guillemets, saisir le format permettant de restituer le jour en lettres, soit 'jjjj',
Fermer la parenthèse de la fonction Texte,
Concaténer avec un espace entre guillemets, soit & '',
Concaténer avec la fonction Texte pour extraire le numéro de la date, soit texte(D8;'jj'),
Taper un point-virgule (;) pour passer dans la branche Sinon de la fonction Si,
Saisir deux guillemets pour garder la cellule vide lorsque les conditions ne sont pas vérifiées,
Fermer la parenthèse de la fonction Si et valider,

Ce qui donne :

=SI(ET($C$2<>''; $C$3<>''); TEXTE(D8;'jjjj') & ' ' & TEXTE(D8;'jj'); '')

Le jour de la semaine en texte et en chiffre apparaît dans la cellule. Si nous supprimons l'une des deux informations, le mois et/ou l'année, l'inscription disparaît comme demandé par le recoupement de critères, grâce à la fonction Excel ET.

En E9, il s'agit d'extraire le jour de la date en texte et en chiffre de la cellule du dessus, soit E8 cette fois. Bien sûr, la double condition précédente reste vraie. Mais en plus, nous devons vérifier que le mois de cette date (en E8) est identique à la première (En D8, à figer donc), afin de pouvoir reproduire le calcul jusqu'au potentiel 31 ème jour.

En conséquence, en E9, taper la formule suivante :

=SI(ET($C$2<>''; $C$3<>''); SI(MOIS(E8)=MOIS($D$8); TEXTE(E8;'jjjj') & ' ' & TEXTE(E8;'jj');'');'')

Littéralement, nous exprimons le raisonnement suivant : Si l'année et le mois sont définis, alors si le mois de la date en cours est identique au mois de la première date de la ligne, nous affichons le jour de la semaine en texte et en chiffre, sinon nous n'affichons rien.
Merci par avance
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 26 août 2022 08:01, modifié 3 fois.
Raison : Ajout de la coche verte
LibreOffice 6.4.7.2 ( imposée )
ubuntu 20.04
Gaby-Jo
Membre OOrganisé
Membre OOrganisé
Messages : 75
Inscription : 12 janv. 2016 09:50
Localisation : Euskal Herria

Re: [Calc] Erreur #NOM ?

Message par Gaby-Jo »

Bonjour,
Erreur dans la formule :
=SI(ET($C$2<>''; $C$3<>'')
Bien mettre "" et pas seulement "
Formule en D9:

Code : Tout sélectionner

=SI(ET($C$2<>"";$C$3<>"");TEXTE(D8;"jjjj")&" "&TEXTE(D8;"jj");"")
Capture plan test.JPG
Attention c'est le caractère de la touche 3 et pas celui de la touche 4.
Gaby-Jo
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice Stable 24.8.5.2
Dual-Boot Linux Mint et Windows 10 Pro
fonfonsd
Membre OOrganisé
Membre OOrganisé
Messages : 55
Inscription : 04 août 2022 10:00
Localisation : BLOIS

Re: Erreur #NOM avec fonction ET, SI, TEXTE

Message par fonfonsd »

Bonjour et merci Gaby-Jo je me suis effectivement trompé de touche pour mes guillemets

merci encore
LibreOffice 6.4.7.2 ( imposée )
ubuntu 20.04
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10073
Inscription : 28 août 2010 08:45

Re: [Résolu] Erreur #NOM avec fonction ET, SI, TEXTE

Message par micmac »

Bonjour,

La balise [Résolu] devrait être accompagnée de la coche verte Image
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS