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

VB 6 et antérieur Discussion :

[VB]probleme avec select case


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 28
    Points : 19
    Points
    19
    Par défaut [VB]probleme avec select case
    Bonjour tout le monde !

    j'ai un petit probleme, que je n'arrive pas a comprendre, peut etre que vous pourriez m'aider ! ^^

    j'ouvre un fichier excel ou par exemple dans la colonne B je vais avoir les metiers de personnes, et dans la colonne C le nom de ses personnes.
    Vu que les personnes peuvent avoir plusieurs metiers, les colonnes B et C ressemblent a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     colonne B                      colonne C
    acteur, réalisateur     |   moi
    projectionniste, acteur |    lui
    réalisateur, producteur |    elle
    réalisateur, ingenieur du son|    vous
    pour récupérer tout ca et les associé au nom des personnes, je fais ca :

    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
     
    roleTab = Split(role, ",") ' Take each role present
    For i = 0 To UBound(roleTab)
       Message = wkS.Worksheets("getProgram").Cells(line, colonne + 1) + ": " + roleTab(i)
       MsgBox Message
     
       Select Case roleTab(i)
     
         Case "acteur"
           acteur(cptActeur) = wkS.Worksheets("getProgram").Cells(line, colonne + 1)
           cptActeur = cptActeur + 1
     
         Case "producteur"
           producteur(cptProducteur) = wkS.Worksheets("getProgram").Cells(line, colonne + 1)
           cptProducteur = cptProducteur + 1
            .....                         
       End Select
     Next i
    le probleme c'est qu'il ne prends que la premiere valeur du tableau roleTab, alors que quand je fais afficher le Message, j'ai bien tous les metiers avec les bonnes personnes...

    dans l'exmple que je vous ai donné, dans le tableau acteur, je n'aurai que : moi, alors que "lui" devrait y etre aussi, dans le tableau réalisateur je n'aurai que :elle et vous, alors que "moi" devrait y etre ...

    est ce que j'ai ete assez clair ??

    Merci !

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    As-tu essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select Case trim(roleTab(i))
    Supprime les éventuels espaces à droite et à gauche de la variable (au cas où tu me poserait la question...)

    A+

    Edit
    Moi, je vais même plus loin pour être sûr de ne pas avoir de pb
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select Case lcase(trim(roleTab(i)))
    Je m'applique bien sûr de ne mettre que des minuscules dans les "case ..."

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    alors, jai testé, et c'est marrant (enfin non ^^) mais avec Trim, il me met :

    L'indice n'appartient pas a la selection... grrrrr

    mais merci, car je pense que en effet, c'est a cause d'espace, qui ne sont pas presents pour le premier metier...

    me reste plus qu'a gerer le probleme de la sortie du tableau ...

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Ai ben la vague impression que i n'est pas dans l'intervalle .....

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    Merci de vos reponses ! ca y est ca fonctionne !

    ouskel'n'or, ca venait bien d'espace qui trainnaient ^^.

    et jmfmarques, le probleme venait de la taille de mes tableaux acteur, realisateur. Il y a un maximum et j'avais oublie de faire les tests !

    Merci !

    bonne journée !

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

Discussions similaires

  1. [XL-2003] Probleme avec Select Case base sur le rapport de deux variables :
    Par Bonero dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/02/2012, 12h41
  2. [EJB3][HIBERNATE] Probleme avec select max
    Par kristof_machin dans le forum Hibernate
    Réponses: 2
    Dernier message: 26/04/2006, 13h05
  3. Probleme avec select
    Par sorry60 dans le forum Réseau
    Réponses: 20
    Dernier message: 16/12/2005, 17h23
  4. Probleme avec Select Case
    Par GeffD dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 07/03/2005, 15h28
  5. [C#][débutant] Probleme avec un case
    Par Le Basque dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/01/2005, 12h45

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