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

C Discussion :

Programme simple de formatage de numéros de téléphone


Sujet :

C

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut Programme simple de formatage de numéros de téléphone
    Bonjour à tous,
    Je suis vraiment très peu doué en C mais j'aurais besoin de faire un programme qui formate un fichier contenant des numéros de téléphone.

    Par exemple : un fichier nommé "numero.txt" contient au départ :
    06,00,00,00,00
    06,00,00,00,00
    06,00,00,00,00
    06,00,00,00,00
    06,00,00,00,00
    06,00,00,00,00
    06,00,00,00,00
    06,00,00,00,00

    à la fin il devrait contenir :

    0600000000,0600000000,0600000000,0600000000,0600000000,0600000000,0600000000,0600000000

    Donc plus d'espace ni de passage à la ligne et suppression des virgules de séparation des chiffre 2 à 2 mais rajout de séparation 10 à 10.

    J'ai commencé à codé ça : (je sais que je code comme un sagouin j'en suis désolé mais je n'arrives vraiment pas à m'y mettre au C)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    int main(int argc, char *argv[]) {
       FILE* fichier = NULL;
       fichier = fopen("numero.txt", "r+");
       char chaine[2000];
       char tmp = 'a';
       char temp[1];
       int c1 = 0;
     
       if (fichier != NULL)
       {
       	// Boucle de lecture des caractères un à un
       	do
       	{
           	tmp = fgetc(fichier); // On lit le caractère
           	if ((tmp < '0') || (tmp > '9')) {
       		} else {
       			temp[0] = tmp;
       			strcat(chaine, temp);
       			c1 += 1;
       			if (c1 % 10 == 0) {
       				strcat(chaine, ",");
       			}
       		}
     
       	} while (tmp != EOF);
       	printf("%s", chaine);
     
       	fclose(fichier);
       }
       else
       {
       	// On affiche un message d'erreur si on veut
       	printf("Impossible d'ouvrir le fichier numero.txt");
       }
       return 0;
    }
    Je me retrouve avec une erreur de segmentation et je n'arrive pas à m'en dépatouiller.

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Tu as au moins une erreur ici :
    temp est un tableau de char de 1 caractère

    quand tu fais temp[0] = tmp;
    ta chaine temp n'est pas "zero terminated" et donc il est probable que le strcat() plante ensuite.

    Au fait, le debugger, c'est pas fait pour les chiens, cela aide justement à localiser (et résoudre) ce genre de problèmes.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Au fait, question subsidiaire, comment tu feras lorsque tu aura 200 numéros de téléphone ou plus dans ton fichier "numero.txt" ?

    Je te parie un autre crash lorsque la variable chaine[2000] va déborder
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut
    Merci pour ta réponse, mais qu'est ce que "zero terminated" et que dois-je faire pour qu'elle le soit ?

    Sinon pour la longueur de la chaîne, j'ai fixé 2000 un peu au hasard, mais à priori on ne devrait jamais dépasser se nombre quand on utilisera le programme, on sera de très loin en dessous.

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 498
    Billets dans le blog
    1
    Par défaut
    mais qu'est ce que "zero terminated" et que dois-je faire pour qu'elle le soit ?
    Quelqu'un n'a pas été attentif au cours sur les chaines de caractères

    En C, une chaine de caractères est une suite d'objets de type char, placés de manière continue en mémoire. Comment savoir où se termine cette suite sachant qu'une variable char* ou char[] ne donne que l'adresse du premier élément de cette suite ? La réponse est que cette suite doit être terminée par un caractère spécial indiquant sa fin. Ce caractère en C est '\0' qui vaut 0 (zéro), aussi appelé NUL. D'où le terme de "zero terminated" ou "null terminated".

    Pour ce qui est du code lui-même, pour faire un IF vide et tout faire dans le ELSE et non inverser la condition ? De plus, il existe une fonction isdgit() qui pourrait rendre ton code plus clair (c'est un détail bien sûr).

    strcat() n'est peut-être pas la fonction la plus adaptée à ton besoin. Elle est fait concaténer deux chaines (null terminated donc ^^) et toi tu veux ajouter un caractère dans un tableau. Pourquoi ne pas écrire dans chainedirectement si tmpest OK et une virgule si besoin ? D'ailleurs, tu as vu le mic mac que tu es obligé de faire à cause de strcat(), tmpet temp?

    Quant au problème évoqué par Raymond, tu peux simplement ouvrir ton fichier, déterminer le nombre de numéros de téléphone (soit exactement en comptant le nombre de lignes, soit de manière peut-être moins exact en regardant la taille du fichier avec ftell()), faire une allocation dynamique avec malloc() de la bonne taille et le tour est joué. Ou allouer une taille qui parait OK pour la plupart des fichiers et réallouer si le fichier est trop grand.

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    J'oserais, et sans vouloir froisser Tolhsadum car on a tous débuté, je dirais que ce que tu dis est parfaitement valide (isdigit(), ftell(), malloc(), ...) mais d'un niveau encore trop élévé par rapport à ce qui est présenté.

    Donc d'abors, une correction immédiate du problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    char temp[2];
    ...
    temp[0] = tmp;
    temp[1] = 0; /* c'est cette ligne qui fait le "zero terminated" de la chaine */
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 498
    Billets dans le blog
    1
    Par défaut
    Je te l'accorde pour ftell() et malloc(). Quoi que j'ai fait ce genre de manip en TP de C assez rapidement. Pour isdigit(), je suis pas d'accord. N'est-il pas plus clair de faire appel à une fonction au nom explicite que de faire un ET logique entre deux inéquations avec des caractères ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ( isdigit(tmp) )
    if ((tmp < '0') || (tmp > '9'))

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Pour isdigit(), je suis pas d'accord. N'est-il pas plus clair de faire appel à une fonction au nom explicite que de faire un ET logique entre deux inéquations avec des caractères ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ( isdigit(tmp) )
    if ((tmp < '0') || (tmp > '9'))
    Dans un cadre professionnel, ce n'est pas discutable, tu as 1000 fois raison.

    Maintenant, dans un cadre apprentissage du C, je suis plus réservé.

    Le test "if ((tmp < '0') || (tmp > '9'))" a ou moins l'avantage de te faire étudier (et comprendre) la table ASCII ansi que les opérateurs ET et OU.
    isdigit() est trop facile. Il me semble aussi que dans les TP de certaines écoles, certaines fonctions "classiques" sont interdites justement pour que les élèves mettent les mains dans le camboui.

    Mais ceci dit, on chipote sur des détails, attendons le retour de Tolhsadum
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Le plus simple est de passer par fscanf() sur le fichier à convertir.
    Un format %[0-9] permet de lire les caractères tant qu'ils sont compris entre '0' et '9'.
    Le format %2[0-9] limite le nombre de ces caractères lus à 2
    On peut utiliser le format
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    i = fscanf(fichier, "%2[0-9],%2[0-9],%2[0-9],%2[0-9],%2[0-9]%*[^\n]\n",
                        tab, tab+2,tab+4,tab+6,tab+8);
    tab[10] = 0;
    Il y aura donc lecture et stockage en tab[0] et tab[1] des deux premiers chiffres et la virgule est lue et ignorée puis lecture et stockage en tab[2] et tab[3] des deux chiffres suivants, etc.

    Le dernier terme %*[^\n]\n permet de lire et d'ignorer (à cause de *) tous les caractères différents (à cause de ^) de '\n', donc d'ignorer ce qui suit sur la même ligne jusqu'à la fin de la ligne et le '\n' est alors lu et ignoré.

    La valeur de retour permet de savoir si la lecture est correcte : elle est égale au nombre de champs correctement convertis ou à EOF. Ici cette valeur doit être 5 ou EOF. Une autre valeur indique une erreur dans le fichier.

    On arrive à quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
      #define N 10
      #define SEP "\n"
      char tab[11];
      int i;
      int count = 0;
      do
      {
         i = fscanf(fichier, "%2[0-9],%2[0-9],%2[0-9],%2[0-9],%2[0-9]%*[^\n]\n",
                        tab, tab+2,tab+4,tab+6,tab+8);
         if(i== 5)
         {
            tab[10] = 0;       //terminer la chaine
            // écrire tab
            count++;      
            if(count !=1)fprintf(fout,","); // faire précéder par ',' sauf pour le premier
            fprintf(fout,"%s", tab);        // enregistrer dans le fichier de sortie
            if(count==N)                    // Ajouter le séparateur SEP tous les N numéros
            {
               fprintf(fout,SEP);
               count = 0;
            }
         }
      }while(i==5);
      // ici on peut tester i pour savoir si une erreur s'est produite
      // ou si on est bien en fin de fichier.

  10. #10
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut
    Merci beaucoup pour toutes vos réponses,
    je viens d'essayer la solution de Diogene (Donc j'ai rajouté la boucle dans le if (fichier != NULL) )
    J'ai du me tromper quelque part puisque lorsque je le lance sous Linux (compilé et généré sous Geany) le fichier de sortie ne contient que le premier des numéros, et lorsque je le fais sous Windows (Avec Microsoft Visual C++ que je ne maîtrise pas vraiment ... ) le fichier de sortie ne contient rien du tout.

    En fait je n'ai pas très bien compris le principe du (i == 5) pour la boucle, enfin même le principe entier du i.


    Je suis désolé de vous embêter avec tout ça mais le C est un langage avec lequel je n'arrive pas encore à m'entendre mais il faudra que j'y arrive un jour ...

  11. #11
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 498
    Billets dans le blog
    1
    Par défaut
    Les pages de manuel sont tes amies ! http://man.developpez.com/man3/fscanf.3.php

    VALEUR RENVOYÉE

    Ces fonctions renvoient le nombre d'éléments d'entrées correctement assignés. Ce nombre peut être plus petit que le nombre d'élements attendus, et même être nul, s'il y a une erreur de mise en correspondance. La valeur zéro indique qu'aucune conversion n'a été faite bien que des caractères étaient disponibles en entrée. Typiquement c'est un caractère d'entrée invalide qui en est la cause, par exemple un caractère alphabétique dans une conversion `%d'. La valeur EOF est renvoyée si une erreur d'entrée a eu lieu avant toute conversion, par exemple une fin de fichier. Si une erreur fin-de-fichier se produit après que les conversions aient commencé, le nombre de conversions réussies sera renvoyé.
    Il y a 5 conversions à faire par fscanf() et donc si le retour de cette fonction n'est pas 5, c'est qu'il y a eu un problème.

  12. #12
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut
    Alors je viens de tester la valeur de i un peu partout dans et après la boucle, et en fait (sur linux en tout cas, vu que sur windows ça ne fonctionne pas du tout.) à la première entrée dans la boucle, i = 5 après le fscanf, ensuite le premier numero est écrit dans le fichier mais à la seconde boucle, après le fscanf, i = 0, donc ça ne rentre pas dans le if et ne re-boucle pas.

  13. #13
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    à la première entrée dans la boucle, i = 5 après le fscanf, ensuite le premier numero est écrit dans le fichier mais à la seconde boucle, après le fscanf, i = 0, donc ça ne rentre pas dans le if et ne re-boucle pas.
    La première chose est de vérifier le contenu du fichier pour s'assurer qu'il est bien au format attendu.
    La seconde chose est de poster le code complet que tu utilises.

  14. #14
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    #define N 10
    #define SEP "\n"
     
    int main(int argc, char *argv[]) {
     FILE* fichier = NULL;
     FILE* fout = NULL;
     
     fichier = fopen("numero.txt", "r+");
     fout = fopen("numeroout.txt", "r+");
     
     if (fichier != NULL)
     {
          // Boucle de lecture des caractères un à un
        char tab[11];
       int i;
       int count = 0;
       do
       {
          i = fscanf(fichier, "%2[0-9],%2[0-9],%2[0-9],%2[0-9],%2[0-9]%*[^\n]\n",
                         tab, tab+2,tab+4,tab+6,tab+8);
     
          if(i == 5)
          {
             tab[10] = 0;       //terminer la chaine
             // écrire tab
             count++;      
             if(count !=1)fprintf(fout,","); // faire précéder par ',' sauf pour le premier
             fprintf(fout,"%s", tab);        // enregistrer dans le fichier de sortie
             if(count==N)                    // Ajouter le séparateur SEP tous les N numéros
             {
                fprintf(fout,SEP);
                count = 0;
             }
          }
       } while (i == 5);
                printf("%d", i);
             printf("%d/n", count);
     
        // ici on peut tester i pour savoir si une erreur s'est produite
        // ou si on est bien en fin de fichier.
          fclose(fichier);
      }
      else
      {
          printf("Impossible d'ouvrir le fichier numero.txt");
      }
      return 0;
    }
    Il y a des espaces un peu partout autour des numero quand je les copie colle dans le fichier texte venant d'une autre source.

  15. #15
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Il y a des espaces un peu partout autour des numero quand je les copie colle dans le fichier texte venant d'une autre source.
    Donc, le format du fichier n'est pas celui annoncé.
    Donne un exemple typique de ce qu'il contient réellement.

    Si par exemple les lignes sont du genre
    06 ,01 ,      02, 03 ,   04xxxx
    un format avec un blanc avant et après chaque ',' conviendra :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         i = fscanf(fichier, "%2[0-9] , %2[0-9] , %2[0-9] , %2[0-9] , %2[0-9]%*[^\n]\n",
                        tab, tab+2,tab+4,tab+6,tab+8);
    Si elles sont plus polluées comme
    yyyy 06abc ,d01ef,g0203ijk , 04xxxx
    un format
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         i = fscanf(fichier, "%*[^0-9]%2[0-9]%*[^0-9]%2[0-9]%*[^0-9]%2[0-9]%*[^0-9]%2[0-9]%*[^0-9]%2[0-9]",
                        tab, tab+2,tab+4,tab+6,tab+8);
    extraira les chiffres par paquet de 2 (il faut qu'ils soient par paquet de 2 et qu'il n'y ait pas de chiffres dans les caractères parasites) et mettra les 10 chiffres dans tab

  16. #16
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut
    En fait les numéros ont des espace avant et après
    par exemple _06,00,00,00,00_\n où les tirets sont les espace et le \n le passage à la ligne donc je devrais plutôt utiliser la forme du second exemple que tu m'as donné, je vais tester.

  17. #17
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut
    Parfait, merci beaucoup à tous, ça marche bien .

    Et j'ai appris pas mal de truc merci

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

Discussions similaires

  1. Récupérer le numéro de téléphone entrant
    Par louisss dans le forum Access
    Réponses: 23
    Dernier message: 26/07/2023, 18h21
  2. [XL-2013] Formatage numéro de téléphone
    Par Graineur dans le forum Excel
    Réponses: 4
    Dernier message: 24/06/2014, 20h37
  3. Réponses: 1
    Dernier message: 13/04/2009, 12h14
  4. récuperation d'un numéro de téléphone
    Par herzleid dans le forum Delphi
    Réponses: 4
    Dernier message: 17/07/2007, 09h25
  5. [ODBC] Formatage d'un numéro de téléphone
    Par loganblack dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 01/08/2006, 14h12

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