[Résolu] Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

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.
paulnewman
Membre lOOyal
Membre lOOyal
Messages : 45
Inscription : 01 juin 2014 06:00

[Résolu] Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par paulnewman »

Bonjour à tous,
j'ai hérité d'un fichier de 2500 clients contenant deux colonnes : EMAIL et MDP.
Malheureusement, certains mots de passes sont obsolètes (4 chiffres parfois seulement :( ).
Je vais donc suivre les recommandations de la CNIL pour la création des nouveaux MDP, dont voici les critères :
  • - 8 caractères minimum
    - 1 caractère spécial parmi ceux ci : ! @ # $ % ^ & * ? _ ~ - ( )
    - 1 Majuscule
    - 1 minuscule
    - 1 chiffre.
Mon idée est de sélectionner tous les clients dont les MDP RESPECTENT ces conditions, pour ensuite les couper-coller sur un autre fichier.
Les clients restants seront donc ceux à qui je demanderai de changer le MDP à leur prochaine connexion.
Donc ma question : quelle est la formule à insérer sur un filtre qui sélectionnerait toute la colonne MDP ?
Je ne trouve pas les critères que je veux dans "Filtre standard" donc je suppose qu'il faut aller dans "Filtre spécial" mais je sèche...
J'ai bien regardé ici mais sans succès : viewtopic.php?t=358

Merci à tous pour votre aide précieuse et bonne fin de week-end !!! :super:
Dernière modification par paulnewman le 03 août 2025 14:58, modifié 1 fois.
OpenOffice 4.1.15 sous Windows 11.
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10159
Inscription : 28 août 2010 08:45

Re: Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par micmac »

Bonjour,
Dans votre signature il y a écrit : OpenOffice 4.1.1 sous Windows 7.
Votre signature fait mention d'une version d'OpenOffice qui n'est plus maintenue.
Si c'est une obligation ou un choix mentionnez-le par Obligation de version ou Choix dans votre signature afin de ne pas être relancé.

Afin de profiter des dernières améliorations, pensez à être à jour de la dernière version officielle

Dans votre signature il est nécessaire d'indiquer :
  1. la version exacte de AOO ou LibO (AOO 4.1.15, LibO 24.8.7 par exemple) ;
  2. la version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Win 11, Ubuntu 24.04, macOS (Intel, Silicon) 15.4.1 Sequoïa par exemple).
Accès direct à votre signature pour la corriger.

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences (ou Réglages) sur macOS
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6093
Inscription : 02 janv. 2009 23:56

Re: Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par Jean-Louis Cadeillan »

Bonsoir,
Je n'ai pas AOO sous la main, j'ai quand même cherché une solution sous LibO, qui doit normalement fonctionner sous AOO, à vérifier. Il serait judicieux de donner suite aux recommandations du modérateur.
Je n'ai pas tenu compte des caractères accentués (minuscules ou majuscules), ce qui compliquerait fortement la formule, d'autant que ces caractères accentués peuvent être la fusion d'un caractère non accentué et d'un signe diacritique. Cela pourrait être envisagé, par exemple avec des SUBSTITUE() emboîtés dans une première formule, pour remplacer tous ces caractères accentués, par une minuscule ou une majuscule donnée.
La feuille Détails du fichier joint sépare les formules pour chacune des règles, pour un mot de passe donné. La feuille Global donne une seule formule (en colonne B) regroupant toutes les règles pour une liste de mots de passe donnés (colonne A), la colonne B servant ensuite de colonne de tri.
Les formules utilisent des fonctions de manipulation de texte comme SUBSTITUE(), STXT(), UNICODE(), NBCAR() et d'autres comme SI(), ESTERR(), SOMMEPROD(), LIGNE().
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Windows 10 Pro 64, LibO 26.2.6.3(JRE 1.8.0_503) et AOO 4.1.16 (Adoptium 19.0.2.7)
paulnewman
Membre lOOyal
Membre lOOyal
Messages : 45
Inscription : 01 juin 2014 06:00

Re: Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par paulnewman »

Bonjour Jean-Louis,
merci énormément pour votre aide.
J'ai bien compris le principe de chacune des formules pour n'en faire qu'une.
Quelques précisions toutefois : les mots de passe ne contiennent NI d'espace NI d'accents. Aucun d'aucune sorte.
Sur la feuille "Global" votre formule semble correcte pourtant elle ne foncionne pas :
Untitled-1.png
Par exemple j'ai renseigné deux mots de passe qui respectent les conditions et pourtant j'obtiens un "FAUX" comme résultat.
Merci une nouvelle fois pour votre aide.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.15 sous Windows 11.
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6093
Inscription : 02 janv. 2009 23:56

Re: Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par Jean-Louis Cadeillan »

Bonjour,
J'ai dû installer une version portable de AOO 4.1.15 (sur une clé externe USB d'une lenteur de mule asthmatique…) pour constater effectivement que les formules des règles 3 à 5 et la formule globale ne fonctionnent pas, alors que tout fonctionne sous LibO. Je n'ai pas creusé plus sur Bugzilla, je peux faire l'hypothèse que l'interpréteur de formule (le parseur) a du mal à gérer les matrices internes générées par STXT() et retraitées ensuite par SOMMEPROD().
SOMMEPROD() est censé, en validant simplement par Entrée, forcer la matricialisation des fonctions qui sont dans ses arguments… mais là ça ne fonctionne pas. J'ai donc validé les formules des règles 3 à 5 et la formule globale par Maj+Ctrl+Entrée (des {} apparaissent dans le champ de formule). Je précise que cette nouvelle validation matricielle n'est effective que s'il y a eu au moins un changement dans la formule (ressaisir le = ou encore ajouter un espace à la fin).
Sur la feuille Global, la recopie de la formule vers le bas doit se faire en maintenant appuyée la touche Ctrl.
Maintenant tout semble fonctionner (y compris sous LibO). Peut-être faudra-t-il adapter la formule, pour que cela soit plus rapide sur 2500 MDP. Pour l'instant la formule prévoit des mots de passe jusqu'à une longueur de 100 caractères… c'est à ajuster (on pourrait faire un ajustement dynamique, mais cela risque d'alourdir la formule et de perdre le parseur…).
À tester ci-joint,
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Windows 10 Pro 64, LibO 26.2.6.3(JRE 1.8.0_503) et AOO 4.1.16 (Adoptium 19.0.2.7)
paulnewman
Membre lOOyal
Membre lOOyal
Messages : 45
Inscription : 01 juin 2014 06:00

Re: Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par paulnewman »

Super, ça fonctionne.
Merci une nouvelle fois Jean-Louis. :super:
OpenOffice 4.1.15 sous Windows 11.
cwolan
Membre hOOnoraire
Membre hOOnoraire
Messages : 187
Inscription : 14 févr. 2021 22:15

Re: Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par cwolan »

Bonsoir,
Jean-Louis Cadeillan a écrit : ↑03 août 2025 12:46 J'ai dû installer une version portable de AOO 4.1.15 (sur une clé externe USB d'une lenteur de mule asthmatique…) pour constater effectivement que les formules des règles 3 à 5 et la formule globale ne fonctionnent pas, alors que tout fonctionne sous LibO. Je n'ai pas creusé plus sur Bugzilla, je peux faire l'hypothèse que l'interpréteur de formule (le parseur) a du mal à gérer les matrices internes générées par STXT() et retraitées ensuite par SOMMEPROD().
SOMMEPROD() est censé, en validant simplement par Entrée, forcer la matricialisation des fonctions qui sont dans ses arguments… mais là ça ne fonctionne pas.
Il semble que pour OpenOffice, SOMMEPROD() ne force pas la matricialisation dans le cas de SI(). Voir les exemples dans le fichier joint.
sommeprodETsi.ods
⠀
Concernant la formule validée simplement par Entrée : voir le fichier joint, la feuille Global, colonne D
paulnewman_20250802_JLC03.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 1.1.5 – 4.1.17
LibreOffice 3.3.0.4 – 26.8
Windows 7,10,11 64-bit
cwolan
Membre hOOnoraire
Membre hOOnoraire
Messages : 187
Inscription : 14 févr. 2021 22:15

Re: [Résolu] Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par cwolan »

Bonjour,

Le fichier ci-joint, feuille Global, colonne E : une formule plus claire et légèrement plus courte.
⠀
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 1.1.5 – 4.1.17
LibreOffice 3.3.0.4 – 26.8
Windows 7,10,11 64-bit
cwolan
Membre hOOnoraire
Membre hOOnoraire
Messages : 187
Inscription : 14 févr. 2021 22:15

Re: [Résolu] Identifier des cellules à critères multiple (8 car. min, 1 majuscule etc.)

Message par cwolan »

Bonjour,

Le fichier ci-joint, feuille Global, colonnes B,C,D :
  • colonne B — la formule de matrice par Jean-Louis Cadeillan
  • colonne C et D — deux formules validées simplement par Entrée
    (la deuxième utilise SOMMEPROD() au lieu de SUBSTITUE() imbriqué).
Merci à @Jean-Louis pour la solution de base.
⠀
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 1.1.5 – 4.1.17
LibreOffice 3.3.0.4 – 26.8
Windows 7,10,11 64-bit