IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Imposer format téléphone à une cellule [XL-2013]


Sujet :

Excel

  1. #1
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut Imposer format téléphone à une cellule
    Bonjour,
    J'ai une cellule dans mon fichier que j'ai mis en format n° de téléphone.
    Mais si l'utilisateur saisie par exemple "ZZZZZZ" rien ne le bloque.
    Comment puis-je procéder ? Je connais le menu "Validation de données" mais rien ne me propose d'imposer un format téléphone.

  2. #2
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Bonjour,
    Une fois que tu as mis ta cellule au format numero de téléphone, tu peux faire une validation des données en imposant un entier et un comme entier maximum 9999999999.
    Ceci empêche la saisie de texte et la saisie d'un numero avec trop de chiffres, mais ça n'empêchera pas la saisie d'un numero avec un nombre insuffisant de chiffres ... Là, je ne sais plus faire

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans la validation de données, il faudrait vérifier que deux conditions sont remplies :

    https://support.office.com/fr-fr/art...D-B5E33D2C67CB

    Les deux reliés par une fonction ET().

    NB : Mon vieux fond de formation en math m'inciterais, personnellement, à remplacer NBCAR par ENT(LOG10()) pour calculer la limite de taille.

  4. #4
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    (ou est compris entre 1 000 000 000 et 9 999 999 999)
    Un n° de téléphone standard commençant par 0 et ayant 10 chiffres ne sera pas compris entre 1000000000 et 9999999999.
    Si je ne me trompes pas 01 23 45 67 89 sera interprété comme 123456789 par Excel et sera donc inférieur à 1000000000.
    Donc, il faut bien passer par NBCAR

  5. #5
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    Merci avec la concaténation des 2 formules cela me convient.

  6. #6
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    Un dernier point avec la fonction log, j'ai testé ceci mais sans succès et comme je ne connais pas cette fonction, comment dois-je procéder ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(ESTNUM(F9);ENT(LOG(F9;10)))

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    TREEES grossièrement, on pourrait dire que LOG(xxx;10) renvoie le nombre de chiffres (moins 1) avant la virgule d'un nombre (c'est une définition très réductrice pour un logarithme mais je simplifie pour l'explication).

    Mais en aucun cas, il ne renvoie VRAI ou FAUX (comme le fait, par exemple, la fonction ESTNUM). Il est donc malvenu de le placer dans un ET sans le compléter d'une égalité ou d'une inégalité.
    Il aurait suffit que tu mettes dans une cellule la formule =ENT(LOG(F9;10)) et que tu regardes le résultat obtenu.

  8. #8
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    Ok merci.

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Saisir un numéro de téléphone en numérique, c'est tout de même étonnant. Le 0 à gauche va systématiquement être supprimé (et remplacé visuellement par un 0 de formatage).

    Je vous souhaite bien du plaisir lorsqu'il faudra matcher Ce "numéro" avec un truc récupéré au format texte et incluant le "0" non significatif à gauche. Il en va de même avec le formatage "code postal français" qui est une hérésie à la microsoft.

    De plus, il faut être certain qu'il n'y aura que des numéros de téléphone français à saisir, car les numéros étrangers n'ont pas tous dix chiffres. De plus, si numéro français exclusivement, il faudrait tester qu'il commence par 01, 02, ... 06. Je ne parle même pas du séquençage qui inclurait ou non les espaces à la saisie.

  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Saisir un numéro de téléphone en numérique, c'est tout de même étonnant.
    +1
    Perso, je mets toujours les numéro téléphoniques au format Texte.
    Et pour savoir si ça a été correctement saisie, je fais confiance aux utilisateurs (et à leur crainte de mes coups de pied au cul verbaux ).

  11. #11
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 433
    Points
    12 433
    Par défaut
    Bonjour
    Pourquoi faire confiance et risquer d'abimer le vernis de ses chaussures sur le jean d'un endormi ?
    L'outil de validation des données prévoit la possibilité de déterminer la longueur maximum et celle minimum (suffit de mettre les deux à 10). Utiliser le format téléphone et ce type de validation suffit.

  12. #12
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par unparia Voir le message
    [...]L'outil de validation des données prévoit la possibilité de déterminer la longueur maximum et celle minimum (suffit de mettre les deux à 10). Utiliser le format téléphone et ce type de validation suffit.
    BOF... Le 0 à gauche n'est pas compté si la valeur saisie est numérique. Dès lors, saisir 0123456789 bloquera alors que tu saisis 10 signes.

    De plus, plutôt que de déterminer Minimum et Maximum pour la longueur, autant demander l'égalité. Mais avec ce que tu dis, saisir abcdefghij passera la validation, et saisir 07123456789 (11 chiffres) passera aussi alors qu'il n'y a pas de numéro qui commence par 07, je pense, et que le numéro est trop long... Et cela n'enlèvera rien au fait que le premier 0 ne sera pas contenu dans la cellule.

    Pour des numéros uniquement français sans saisie des espaces, on pourrait utiliser la formule de validation suivante (choisir validation de données puis personnalisé et saisir la formule, écrite ici pour A1). Il faut que la cellule A1 soit au format texte pour accepter le 0 à gauche (à tester, notamment en validant le fait qu'un numéro de téléphone français doit commencer par 01, 02, ... jusqu'à 06, je ne suis pas spécialiste)
    =ET(NBCAR(A1)=10;SIERREUR(GAUCHE(A1;2)*1<=6;FAUX);ET(CODE(STXT(A1;LIGNE(A1:A10);1))>47;CODE(STXT(A1;LIGNE(A1:A10);1))<58))
    On pourrait bien entendu adapter la formule pour la saisie des chiffres par groupes de deux si on le souhaite, voire même proposer le double encodage (avec ou sans les espaces), ce n'est qu'une question de formule à rédiger.

  13. #13
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par unparia Voir le message
    Pourquoi faire confiance et risquer d'abimer le vernis de ses chaussures sur le jean d'un endormi ?
    L'outil de validation des données prévoit ...
    Parce que la plupart des entreprises (la mien en tout cas) ont des clients, des fournisseurs, des confrères et autres dans d'autres pays.
    Et dans ce cas, la validation de données est aux fraises.

  14. #14
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Parce que la plupart des entreprises (la mien en tout cas) ont des clients, des fournisseurs, des confrères et autres dans d'autres pays.
    Et dans ce cas, la validation de données est aux fraises.
    +1000

    Comme je le signalais, c'est vraiment pour une saisie franco-française, et c'est donc très limitatif. En Belgique, nous avons des numéros à 9 ou dix chiffres, et si on veut séquencer le préfixe, on se retrouve avec des préfixes à deux, trois ou quatre chiffres.

    Je conclurai en disant qu'a priori, Excel n'est pas un logiciel de saisie de données, et qu'il conviendra toujours de vérifier les données avant de les traiter, quitte à se créer des jeux de tests en fonction des spécificités nationales.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/10/2016, 12h44
  2. [VBA-E] vérifier le format d'une cellule
    Par jouf dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/06/2006, 20h51
  3. [VBA-E]changer le format d'une cellule dans un spreadsheet
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 13/02/2006, 11h12
  4. Comment forcer le format d'une cellule?
    Par cha_cha dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/11/2005, 14h31
  5. Display Format d'une cellule d'une DBGrid
    Par Wilco dans le forum Bases de données
    Réponses: 5
    Dernier message: 21/10/2004, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo