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

WinDev Discussion :

mettre le nom et prénom dans deux colonnes


Sujet :

WinDev

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Points : 2
    Points
    2
    Par défaut mettre le nom et prénom dans deux colonnes
    Bonjour Le forum,

    J'importe des fichiers .CSV dans une table cependant je souhaiterai que le nom et prénom apparaisse dans une colonne différente (exemple colonne 1 le nom et 2 le prénom) actuellement l'importation du fichier fait que le nom et prénom s'affiche dans la colonne 1 de ma table.

    Je débute sur WinDev et son environnement, j'avance doucement si vous avez un conseil ou code à proposer pour traiter les différents fichiers dans ce sens.

    Merci par avance
    Cordialement
    Totophe2

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Bonjour,

    le premier conseil en tant que débutant dans l'utilisation d'un forum, c'est de préciser votre demande.
    1 - le contexte -> ok
    2 - le résultat attendu -> ok
    3 - le résultat constaté -> ok
    4 - le code ou le message d'erreur du résultat constaté -> euhh...

    Car à la lecture d'une demande comme la votre, je serais tenter de répondre :
    L'erreur se trouve à la ligne 245 de votre code.... ça se voit non ?
    ou alors

    Ah oui, c'est parce que votre code est écrit en C#, c'est pour ça que le compilateur à du mal.
    Vous comprenez bien que sans cette dernière information, nous pouvons conjecturer sur tout et rien concernant votre problème.

    Cordialement.

  3. #3
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par Totophe2 Voir le message
    J'importe des fichiers .CSV dans une table cependant je souhaiterai que le nom et prénom apparaisse dans une colonne différente (exemple colonne 1 le nom et 2 le prénom) actuellement l'importation du fichier fait que le nom et prénom s'affiche dans la colonne 1 de ma table.
    Ça serait bien que tu fournisses le code qui te permet de remplir la table à partir du csv...

    Ceci dit le nom et le prénom sont placés dans une même colonne par ce qu'il n'y a pas de séparateur entre.
    Il s'agit d'une unique chaîne...

    On peut découper les chaînes comme on veut mais la difficulté va être de séparer la parie nom de la partie prénom pour plusieurs raisons :
    - est-ce que l'ordre est toujours le même : nom/prénom ou prénom/nom, si c'est panaché ça va être compliqué...
    - pour les nom et/ou prénom composé comment tu vas les découper ? la aussi ça va être difficile d'en faire une règle...

    Je pense que c'est la définition de la règle de découpage entre le nom est le prénom qui va être difficile à définir...

    Bon courage...
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  4. #4
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 526
    Points
    2 526
    Par défaut
    et pour ceux qui s'appellent Jean Gérard...
    ou Marie Jeanne Catherine....
    où est le prénom, où est le nom ?
    Sans parler des prénoms exotiques.
    Bref, ne pas compter sur une automatisation à 100 %

  5. #5
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour

    Comme te l'ont dejà remarqué les autres membres, tu dois nous fournir ton code pour que l'aide soit au plus juste.

    Et je rejoins serendib, cette automatisation entrainera un pourcentage d'erreur, à voir si ce pourcentage est acceptable dans ton cas.

    Pour ton problème, j'utiliserais la fonction Position : Aide en ligne : Position pour rechercher l'espace qui sépare le nom et le prénom.
    Ensuite avec cette position j'utiliserai la fonction :
    Gauche Aide en ligne : Gauche
    Milieu Aide en ligne : Milieu

    Exemple de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    li_resRech est un entier
    ls_nom,ls_prenom est une chaine
    li_resRech=Position(ColonneDeTonCsv," ",1,depuisdebut)
     
    SI li_resRech<>0 ALORS
         ls_nom=Gauche(ColonneDeTonCsv,li_resRech-1)
         ls_prenom=Milieu(ColonneDeTonCsv,li_resRech+1)
    SINON
         ls_nom=ColonneDeTonCsv
         ls_prenom=""
    FIN
    Code non testé, bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  6. #6
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 526
    Points
    2 526
    Par défaut
    Ce que propose dsr57 peut marcher à condition que dans le CSV à importer :

    1 - le Nom et le prénom soit toujours dans le même ordre.
    2 - pour les prénoms composés, il y est bien un tirait entre les deux.

    Se pose ensuite le cas des particules :
    - Mr De la Douve Mauprée Jean Paul (ça en fait des espaces qui polluent)
    - Mlle Van Petheguen Marie Josée
    - Mme d'Arbanville (ou d' Arbanville)
    etc.. etc..

    c'est donc plutôt le fichier CSV que j'aimerais voir afin de vérifier ces conditions.

    Dans tous les cas il faudra laisser la main sur chaque ligne ambigüe, avant de la valider.
    Autant dire dans le meilleur des cas 1 fois sur deux.

    PS : une petite astuce pour optimiser, consiste à utiliser un fichier (exhaustif ?) des prénoms. Reste à le trouver.

  7. #7
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour,

    serendib, je suis ok avec ta réponse, le code que j'ai proposé est celui que j'utilise dans mon programme de récupération clients en imposant l'ordre : Nom Prénom dans la colonne du fichier.
    J'ai posté le code pour donner une piste de réflexion au blocage de Totophe2.

    Afin que nous puissions donner notre aide au plus juste, (car là nous partons dans des suppositions ) Totophe2 doit nous fournir :
    • Des exemple de son fichiers CSV.
    • Le code programmé.


    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Bonjour Serendib, dsr57, laurant30s, RY_YO,
    Bonjour le forum,

    Merci pour vos réponses, je comprends bien qu'il faut que je sois plus précis dans mes questions.

    Et vous avez bien raison, je me rends bien compte (au fur et à mesure que j'avance) que je ne règle pas tous les cas de figure. Je vais essayer la proposition de DSR57 (merci).

    Le problème vient bien du formatage du fichier .CSV (une colonne pour le nom et prénom) mais j'ai beaucoup de fichier.CSV à importer.

    Voilà mon code ci dessous qui va chercher le fichier dans un dossier.

    J'aimerai pouvoir mettre en place la lecture de tous les fichiers .CSV dans mon dossier (C:\Users\Utilisateur\Desktop\CSV\) pour les remplir dans matable (si vous avez un bout de code pour ne pas lire 1 fichier mais tous les fichiers)

    explication du code ci dessous :
    choix du fichier .CSV puis import des deux colonnes car formatage du fichier CSV en colonne et nom en ligne !!!!
    Puis déplacement de deux lignes dont celle du nom et prénom que je place sur la 1er ligne puis un j'insert une ligne pour pouvoir extraire le prénom lorsque je veux transposer le contenu de la table 1 sur la table 2 en ligne (comme il faut), j'espère que c'est clair.

    Je rappelle quand même que je débute (doucement) et je fais avec mes toutes petites connaissances, le net et vous.


    NomCheminFichier est une chaîne
    IdFichier est un entier
    LigneLue est une chaîne
    ResFermeFichier est un entier

    NomCheminFichier = fSélecteur("", "", "Sélectionnez un fichier...", "Tous les fichiers (*.*)" + TAB + "*.*", "*.*", fselOuvre)
    // Ouverture du fichier
    IdFichier = fOuvre(NomCheminFichier)
    LigneLue = fLitLigne(IdFichier)
    TableAjouteLigne(Table_Exp_CSV,ExtraitChaîne(LigneLue,1,";",DepuisDébut),ExtraitChaîne(LigneLue,2,";",DepuisDébut),ExtraitChaîne(LigneLue,3,";",DepuisDébut))
    TANTQUE LigneLue <> EOT ET LigneLue <> ""
    LigneLue = fLitLigne(IdFichier)
    TableAjouteLigne(Table_Exp_CSV,ExtraitChaîne(LigneLue,1,";",DepuisDébut),ExtraitChaîne(LigneLue,2,";",DepuisDébut),ExtraitChaîne(LigneLue,3,";",DepuisDébut))

    FIN
    TableDéplaceLigne(Table_Exp_CSV,7,1) // ligne déplacer
    TableDéplaceLigne(Table_Exp_CSV,8,2)
    TableInsèreLigne(Table_Exp_CSV,2)


    SI LigneLue = EOT ALORS Info("La fin du fichier a été atteinte")

    sLigne est une chaîne
    POUR TOUTE LIGNE DE Table_Exp_CSV
    sLigne += Table_Exp_CSV.Colonne2 + TAB
    FIN
    TableAjoute(Table_MaTable, sLigne)

    TableSelectPlus(Table_MaTable,Table_MaTable..Occurrence) Table_MaTable.Colonne2 =Majuscule(ExtraitChaîne(Table_MaTable.Colonne1,1," ",DepuisFin))
    Table_MaTable.Colonne1 =Majuscule(ExtraitChaîne(Table_MaTable.Colonne1,2," ",DepuisFin))

    ResFermeFichier = fFerme(IdFichier)


    Merci pour votre aide
    Bonne Journée
    Totophe2.

  9. #9
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour et bienvenue donc,

    Petit conseil préliminaire, utilisez la balise code ( # ) pour mettre du code en ligne.
    Cela donne d'emblée quelque chose de plus lisible, qu'on peut aussi indenter si on veut en améliorer la lisibilité.

    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
    NomCheminFichier est une chaîne
    IdFichier est un entier
    LigneLue est une chaîne
    ResFermeFichier est un entier
    
    NomCheminFichier = fSélecteur("", "", "Sélectionnez un fichier...", "Tous les fichiers (*.*)" + TAB + "*.*", "*.*", fselOuvre)
    // Ouverture du fichier
    IdFichier = fOuvre(NomCheminFichier)
    LigneLue = fLitLigne(IdFichier)
    //il faudrait tester fouvre() et flitligne
    TableAjouteLigne(Table_Exp_CSV,ExtraitChaîne(LigneLue,1,";",DepuisDébut),ExtraitChaîne(LigneLue,2,";",DepuisDébut),ExtraitChaîne(LigneLue,3,";",DepuisDébut))
    TANTQUE LigneLue <> EOT ET LigneLue <> ""
    LigneLue = fLitLigne(IdFichier)
    TableAjouteLigne(Table_Exp_CSV,ExtraitChaîne(LigneLue,1,";",DepuisDébut),ExtraitChaîne(LigneLue,2,";",DepuisDébut),ExtraitChaîne(LigneLue,3,";",DepuisDébut))
    
    FIN
    TableDéplaceLigne(Table_Exp_CSV,7,1) // ligne déplacer
    TableDéplaceLigne(Table_Exp_CSV,8,2)
    TableInsèreLigne(Table_Exp_CSV,2)
    
    
    SI LigneLue = EOT ALORS Info("La fin du fichier a été atteinte")
    
    sLigne est une chaîne
    POUR TOUTE LIGNE DE Table_Exp_CSV
    sLigne += Table_Exp_CSV.Colonne2 + TAB
    FIN
    TableAjoute(Table_MaTable, sLigne)
    
    TableSelectPlus(Table_MaTable,Table_MaTable..Occurrence) Table_MaTable.Colonne2 =Majuscule(ExtraitChaîne(Table_MaTable.Colonne1,1," ",DepuisFin))
    Table_MaTable.Colonne1 =Majuscule(ExtraitChaîne(Table_MaTable.Colonne1,2," ",DepuisFin))
    
    ResFermeFichier = fFerme(IdFichier)
    Cela étant :

    Avez-vous testé votre code et quelles sont les erreurs, puis insuffisances rencontrées ?

    Nous avons lu vos commentaires, mais
    vous devriez documenter un peu plus votre code. Notamment, vos tables : une, deux, trois colonnes ? Parce que votre instruction TableAjouteLigne alimente 3 colonnes.
    vous souhaitez traiter tous les fichiers à importer de manière automatique, mais ont-ils tous le même structure, doivent-ils tous subir le même traitement d'extraction etc .

    Au niveau du code :
    • vous pourriez utiliser des variables préfixées, mais chacun selon son goût ou ses habitudes
    • vous pourriez réorganiser votre boucle et remplacer TANT QUE / FIN par BOUCLE / TANT QUE (avec une instruction SORTIR ou équivalent si EOF) mais c'est encore une question d'habitude et de goût.
      Cela éviterait de dupliquer la ligne TableAjouteLigne et les risques de discordances entre les deux lignes, tout en clarifiant le code
    • _ET_, _OU_ etc sont plus efficaces que les ET, OU simples. Voir la doc
    • Sans avoir approfondi, je ne saisis pas pourquoi vous déplacez les lignes : d'une part, si vous alimentez plusieurs colonnes avec votre TableAjouteLigne, les informations sont réparties entre les colonnes et non entre les lignes
      D'autre part, vous savez en principe où se situe l'information en Table 1 et pouvez la recopier en Table 2 sans jouer avec les lignes


    Bon travail

    Hemgé

  10. #10
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour,

    Serait-il possible d'avoir un exemple de fichier CSV ?
    PS : personnellement j'ai du mal à comprendre ton code

    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Bonjour Hemgé et dsr57,
    Bonjour le forum,

    Tout d'abord j'essai de comprendre et de connaitre plusieurs étapes qui pourront me permettre de réaliser un programme, ces étapes ne sont pas encore liées entre elles.

    A ce jour 3 Tables
    1er Table (Table_ImportFichier à 2 colonnes) qui me sert à l'import des noms de fichiers .CSV présents dans un dossier (étapes en cours)

    2ème Table (Table_Exp_CSV à 3 colonnes mais deux suffisent) qui me sert à aller chercher à afficher le contenu d'un fichier .CSV (un exemple de fichier en pièce jointe) il est vrai que le moyen que j'ai trouvé, c'est tout d'abord de déplacer la ligne du nom1 (ligne7) à la ligne1 puis d'ajouter un ligne en dessous afin d'extraire dans ma 3ème table (Table_MaTable) le contenu de ma 2ème table tout en essayant de scinder le nom et prénom (comme vous me l'avez dit très difficile car trop de cas différents à prendre en compte) l'extraction se fait en ligne en ayant une colonne pour le nom et une pour le prénom puis plusieurs colonne pour reprendre le contenu du fichier CSV.

    Le code joint, dans le message précédent, fonctionne de cette façon là. En espérant que ça soit "un peu plus clair".

    J'essai de pendre en compte vos conseils mais il faut moi aussi que j'arrive à tout comprendre (je me documente aussi), il me manque du temps (c'est en plus de mon travail).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vous devriez documenter un peu plus votre code.
    Je vais faire en sorte d'apporter les renseignements.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vous souhaitez traiter tous les fichiers à importer de manière automatique, mais ont-ils tous le même structure, doivent-ils tous subir le même traitement d'extraction etc .
    Oui c'est là où je bloque actuellement, il faut traiter un dossier contenant + de 100 fichiers CSV de même structure et qui devront subir le même traitement. lire les fichiers 1 à 1 colonne 1 puis en colonne 2 mettre un "1" s'il est traité et passer au suivant voire même déplacer dans un autre dossier les fichiers traités.

    Pour le code j'ai adapté celui de l'aide de WINDEV pour extraire le nom des fichiers dans une table

    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
    UnFichier, ResListeFichier sont des chaînes
     
     
    // Liste les fichiers de type ".CSV" présents dans l'emplacement ci dessous.
    // Le parcours se fait également dans les sous-répertoires et est interruptible. 
    ResListeFichier = fListeFichier("C:\Users\Utilisateur\Desktop\CSV\*.csv",frRécursif + frInterruptible)
    // Pour chaque fichier trouvé
     
    POUR TOUTE CHAÎNE UnFichier DE ResListeFichier SEPAREE PAR RC
    	// Ajout du fichier dans la table Table_ImportFichier	
     
    TableAjoute(Table_ImportFichier, ExtraitChaîne (UnFichier,1,"\",DepuisFin))
    	               //TableAjoute(Table_Exp_CSV) = ExtraitChaîne (fichierlister,".",1,DepuisFin)
     
    FIN
    Bonne Soirée
    Fichiers attachés Fichiers attachés

  12. #12
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour,

    Merci pour le fichier CSV.

    J'ai quelques questions à te poser :

    • Le nom et prénom est contenu dans la ligne 7 ?
      Car j'ai l'impression qu'il y a des noms en ligne : 10, 13 et 16 (Si oui veux tu les récupérer)
    • Le nom est contenu entre les 2 premiers points virgule ?
    • L'ordre est il Nom Prenom ou Prénom Nom ?
    • Veux tu récupérer tout le fichier ou uniquement les noms et prénoms des personnes ?


    Voilà quelques questions qui vont me permettre de mieux comprendre ce que tu veux faire

    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  13. #13
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Bonjour dsr57,
    Bonjour le forum,

    Oui le nom et prénom présent dans la ligne 7 est le Responsable de la demande c'est pour ça que je le fais remonter en 1er ligne les autres noms et prénoms sont des accompagnateurs (important aussi mais ils peuvent rester à cet endroit là).

    Je souhaite récupérer l'ensemble des données de la colonne 2.

    Le nom est prénom est bien entre les deux premiers " ; " l'ordre est le nom suivi du prénom.

    Bonne Journée

  14. #14
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonsoir,

    votre liste des fichiers csv

    Il y a justement une ébauche de discussion en cours : modifier une lsite
    Si elle se développe, il y aura peut-être des éléments à en retenir .

    En bref, fListeFichier alimentera votre table et vous pouvez restreindre la liste en utilisant un chemin et un nom génériques.

    Voir l'exemple pour les BMP.

    L'extraction de vos données

    Il n'y a aucun besoin de déplacer des lignes d'information dans votre fichier csv : au moment où vous extrayez les nom et prénom du responsable, puis des accompagnateurs, vous les affectez aux variables correspondantes et il n' y a aucun souci par rapport à l'emplacement dans le fichier csv.
    L'affectation repose sur la logique de votre code.
    csv responsable ===> Resp_Nom et Resp_Prénom
    csv accompagnateur 1 ===> Acc1_Nom et Acc1_Prénom
    etc.
    Si le nombre d'accompagnateurs est variable, en bonne pratique, il faudrait passer par une table associée, mais c'est peut-être un peu tôt pour vous.

    Concernant l'extraction des nom et prénom, assurez-vous que les fichiers qu'on vous adresse ne sont pas le fruit d'une manipulation au cours de laquelle on concatène nom et prénom en une zone alors qu'ils sont saisis séparément.
    Ce serait vraiment dommage.

    Je ne vois qu'une finalisation manuelle concernant les nom et prénom.
    Vous pouvez cependant alléger cette charge préparant un traitement automatique du maximum de fiches :
    • enlever les éventuels espaces en début et en fin de chaine : SansEspace()
    • repérer les fiches où le champ csv nom-prénom ne contient qu'un espace : ChaîneOccurrence() :
      ces champs peuvent être traités automatiquement, mais je limiterais ce traitement au remplacement de l'espace par un TAB ou autre caractère spécial (cft ci-dessous).
    • limiter votre traitement manuel à l'insertion du même caractère spécial que ci-dessus entre le nom et le prénom.
      Il est beaucoup plus rapide, moins sujet à fausses manœuvres etc, de cliquer entre le nom et le prénom pour y insérer un TAB que de sélectionner une partie du champ pour faire un couper/coller ou un déplacement (avec des sélections incomplètes etc).
      Les fiches comportant déjà le TAB ou le caractère spécial doivent évidemment être sautées par votre procédure.
    • puis traiter automatiquement les fiches ainsi prétraitées, à la main ou en automatique, en les scindant sur base du TAB ou autre caractère spécial que vous y aurez introduit.


    Bon travail

    Hemgé

  15. #15
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Bonjour Hemgé,

    Bonjour le forum,

    Merci pour ton aide je vais essayer de prendre en compte ta proposition et d'y arriver.

    Je vous tiens au courant

    Bonne Journée
    Totophe2

Discussions similaires

  1. [MySQL] mettre du texte dans deux colonnes
    Par king_soft dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/03/2010, 15h08
  2. [MySQL] Afficher les champs nom et prénom dans la même colonne
    Par batoule80 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/11/2008, 21h40
  3. Ecrire les noms des fichiers dans une colonne
    Par REGIMBAL dans le forum Access
    Réponses: 1
    Dernier message: 20/04/2006, 11h29
  4. Réponses: 35
    Dernier message: 17/02/2006, 18h39
  5. Mettre le nom du fichier dans TextEdit ?? Avec CFileDialog
    Par P'tit Troll dans le forum Windows
    Réponses: 2
    Dernier message: 19/04/2005, 17h32

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