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 :

Indice n'appartient pas à la selection : Comment le catcher ? [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 29
    Par défaut Indice n'appartient pas à la selection : Comment le catcher ?
    Bonjour,

    Je réalise un script qui me permet de modifier les réponses d'un questionnaire via une API.
    J'ai certaines questions qui sont en multi-select, c'est à dire qu'on peut prendre plus d'une réponse.

    Mon script lit un fichier csv. Je vous fais un exemple pour que vous compreniez.

    Mon fichier csv ressemble à ca :
    Question1;QuestionID1;Réponse1;IDRéponse1;;
    Question2;QuestionID2;Réponse2;IDRéponse2;;
    Question3;QuestionID3;Réponse3a;IDRéponse3a;Réponse3b;IDRéponse3b
    Je découpe donc dans mon script comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach (string ligne in fichier)
    {
    string[] separator = new string[] { ";" };
    string[] result = form.Split(separator, StringSplitOptions.None);
    valeurQuestion = result[0];
    valeurQuestionID = result[1];
    valeurRéponse = result[2];
    valeurRéponseID = result[3]; 
    valeurRéponse2 =  result[4]; // CA VA PLANTER CAR N APPARTIENT PAS A LA SELECTION SUR LA PREMIERE LIGNE
    valeurRéponseID2 = result[5]: // CA VA PLANTER CAR N APPARTIENT PAS A LA SELECTION SUR LA PREMIERE LIGNE
    }

    Comment je fais pour compter le nombre de sélection par ligne ?
    C'est à dire
    4 sélection 1ere ligne
    4 sélection 2ème ligne
    6 sélection 3ème ligne


    Parce que je veux pouvoir dire que j'utilise l'api de tel facon si 4 selection ou tel facon si 6 selection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Si 4 selection then 
     api =  site.com/valeurQuestionID /responses:{responseId : valeurRéponseID , responseValue : valeurRéponse}
     
    Si 6 sélection then 
    api =  api =  site.com/valeurQuestionID /responses:{responseId : valeurRéponseID , responseValue : valeurRéponse},{responseId : valeurRéponseID2 , responseValue : valeurRéponse2}

    Merci d'avance pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .net - Office - Quadiant
    Inscrit en
    Février 2020
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur .net - Office - Quadiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2020
    Messages : 624
    Par défaut
    Bonjour,

    En utilisant la propriété Length d'un tableau tu pourras récupérer le nombre de séparation et donc tester avant de chercher à récupérer les données d'un indice hors champ.

    ONTAYG

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 29
    Par défaut
    Bonjour ONTAYG,

    Merci de ta réponse rapide, mais comme tu peux le voir dans l'exemple, il y a toujours 6 séparations.

    C'est un fichier csv, donc si t'as 10 colonnes de rempli sur une ligne et toutes les autres lignes à 4 colonnes, toutes les lignes auront 10 fois ";" ...

    Donc ca peut pas marcher comme ca

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    Tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringSplitOptions.RemoveEmptyEntries

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 29
    Par défaut
    Hello Krantz,

    Ok imaginons j'utilise ta fonction,
    c'est a dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string[] result = form.Split(separator, StringSplitOptions.RemoveEmptyEntries);
    comment je sais qu'il va pas plus loin que result[3] pour ma premiere ligne ???
    Comment je le catch !?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    avec result.Length

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 29
    Par défaut
    Bien joué !

    Ca marche absolument niquel

    Merci Krantz !

    Sujet à cloturé !

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

Discussions similaires

  1. l'indice n'appartient pas à la selection erreur 9
    Par sof78 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/08/2011, 11h19
  2. [XL-2003] Problème VBA générant du code VBA "l'indice n'appartient pas à la selection"
    Par Access Newbie dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 21/06/2011, 09h46
  3. [XL-2003] Erreur '0' : l'indice n'appartient pas à la selection
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/04/2010, 15h51
  4. Erreur d'execution '9'. L'indice n'appartient pas à la selection
    Par goby45 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/02/2010, 15h09
  5. L'indice n'appartient pas à la selection (Close)
    Par Elijah37 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 31/07/2008, 14h37

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