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

Macros et VBA Excel Discussion :

Problème de ListIndex


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Par défaut Problème de ListIndex
    Bonjour à tous
    Je dispose d'une feuille excel Data avec entre autres une colonne Nom et une colonne Prénom
    J'ai créé un formulaire pour entrer ces données dans cette feuille Data. Tout fonctionne . Quand j'appelle le formulaire, je retrouve bien mes noms dans la combobox (RowSource nommée Nom et qui s'incrémente avec une fonction DECALER) . Cette RowSource comprend 2 noms :BLANC SIMONE et BLANC ROBERT et il se trouve que lorsque je veux sélectionner un des deux, le listIndex est toujours le même . Pour être un peu plus clair, ces deux personnes occupent la position 4 et 5 dans la rowsource mais le ListIndex est toujours 3.
    Je précise qu'il y a d'autres homonymes et que pour tous ces autres cas le listIndex est le bon .
    J'ai réglé le problème en ne faisant qu'une seule colonne pour les noms-prénoms mais j'aimerais bien comprendre le pourquoi de ce qui me semble une anomalie
    Merci à celui ou celle qui pourrait m'éclairer

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonsoir,

    Mettre le nom et le prénom dans 2 colonnes complique.
    Il est + simple de mettre le nom et le prénom dans la même cellule.

    Boisgontier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Par défaut
    Citation Envoyé par boisgontierjacques Voir le message
    Bonsoir,

    Mettre le nom et le prénom dans 2 colonnes complique.
    Il est + simple de mettre le nom et le prénom dans la même cellule.

    Boisgontier
    Bonsoir
    Effectivement car moins de risque d'avoir des homonymes. Il n'en reste pas moins que des fédérations (de sport) en faisant des exportations font que des clubs se retrouvent avec ce type de disposition sur 2 colonnes (nom et prénom). J'ai eu l'occasion d'en traiter plusieurs et après vérification, aucune ne comportait de Mme et Mr BLANC!
    Ce qui me surprend c'est que le listindex fonctionne parfaitement pour tous les couples de ce tableau à l'exception donc de ce patronyme, d'où ma question
    Merci toutefois pour votre réponse

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Juste deux questions précises :
    1) par quel(s) geste(s) sélectionnes-tu dans la combobox ?
    2) quel code utilises-tu (depuis la déclaration de la procédure jusqu'à End sub inclus)pour déterminer la propriété listindex correspondant à ta sélection) ?
    J'espère que tu ne te contentes pas de saisir dans la zone d'édition ...

    Quant à :
    Il n'en reste pas moins que des fédérations (de sport) en faisant des exportations font que des clubs se retrouvent avec ce type de disposition sur 2 colonnes
    C'est également une règle sage (sinon la seule sage) et logique en matière de traitement de données.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Par défaut
    Bonjour
    Evidemment, comme je ne suis pas un expert du VBA, je ne comprends pas forcément les questions posées.
    A la question 1, je peux dire par un clic sur la liste présente dans la combobox
    A la question 2, je vous soumets ce que j'ai écrit, à savoir
    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
    Private Sub ComboBoxNom_Click()
     
    Dim monAppel
    monAppel = ActiveControl.Name
    If monAppel <> "Valider" Then
    UserForm1.Hide
    monNom = UCase(UserForm1.ComboBoxNom.Value)
    UserForm1.CBNom2.Value = UCase(UserForm1.ComboBoxNom.Value)
    UserForm1.CBNom2.ZOrder (0)
     
    monRang = ComboBoxNom.ListIndex + 1
            Sheets("Data").Select
            Range("C1").Select
                        With UserForm1
                            Club.Value = ActiveCell.Offset(monRang, -2).Value
                            .ComboBoxPrénom.Value = ActiveCell.Offset(monRang, 1).Value
                            .TextBoxFixe.Value = ActiveCell.Offset(monRang, 7).Value
                            .TextBoxPortable.Value = ActiveCell.Offset(monRang, 6).Value
                            .TextBoxMail.Value = ActiveCell.Offset(monRang, 8).Value
                            .TextBoxAdresse.Value = ActiveCell.Offset(monRang, 3).Value
                            .TextBoxAdresse2.Value = ActiveCell.Offset(monRang, 4).Value
                            .ComboBoxVille.Value = ActiveCell.Offset(monRang, 5).Value
                         .ComboBoxCivilité.Value = ActiveCell.Offset(monRang, -1).Value
                            .TextBoxMois.Value = ActiveCell.Offset(monRang, 9).Value
                            .TextBoxNaissance.Value = CDate(ActiveCell.Offset(monRang, 2).Value)
     
                    End With
     
     
    End If
     
    UserForm1.Show 0
    End Sub
    Lorsque je regarde en pas à pas, le listindex est toujours 3 alors que MR BLANC est en 3ème position et Mme BLANC en 4ème position. Evidemment, je dois faire une boulette quelque part! La variable monRang est Public monRang As Integer.
    Merci pour votre aide car il y a fort à faire

Discussions similaires

  1. Problème listIndex -1 dans un comboBox
    Par christgh dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/04/2013, 23h24
  2. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  3. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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