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 :

un problème sur une condition


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut un problème sur une condition
    Bjrs à tous,

    Voilà, mon problème est le suivant:
    si je ne trouve pas le résultat dans la liste il faudrais aller à fin1
    mais le problème c'est qu'il va tjrs à fin1
    voici le code
    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
    Private Sub ComboBox2_Change()
      If ComboBox2.Value = "" Then GoTo fin1
        Sheets("récap_familles").Select
        For Each c In Sheets("récap_familles").Range("a12:a200")
            If c.Value <> ComboBox2.Value Then GoTo fin1 'si il n'est pas dans la liste a12:a200 il doit aller fin1?
            If c.Value = ComboBox2.Value Then
                c.Select
            End If
        Next c
     
     
     
        ActiveCell.Offset(0, 4).Select
        t = ActiveCell * -1
     
        TextBox6.Value = t
        ComboBox5 = "Règlement des familles"
        ComboBox1 = "4111 - Familles ou élèves"
     
     
     
     
     
        GoTo fin2
    fin1:
     
    fin2:
    End Sub
    merci de votre réponse

    JY
    Cordialement,

    Jijie

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Je n'ai pas tout compris, mais supprimer la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If c.Value <> ComboBox2.Value Then GoTo fin1
    pourrait peut-être régler ton pb.

    Bon courage,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    BONSOIR

    si j ai bien compris tu veux comparer la liste du combo a une liste ds un feuil

    si tel est le cas il faut que tu bcl ds la combo pour verifier ts les elements de la liste

    sinon je ne vois pas trop l interet de cette boucle , car par defaut la valeur du combo est le 1er element de la liste (list = 0)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For Each c In Sheets("récap_familles").Range("a12:a200")
            i = i + 1         If c.Value <> ComboBox2.list(i-1) Then GoTo fin1 'si il n'est pas dans la liste a12:a200 il doit aller fin1?
            If c.Value = ComboBox2.Value Then
                c.Select
            End If
        Next c

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonsoir,
    Une première chose m'étonne dans ton code
    If c.Value <> ComboBox2.Value Then GoTo fin1
    c, c'est quoi ????
    Tu doit d'abord déclarer c , par ex:
    A+
    EDIT:
    M'étonne même que ton code plante pas, à moins que tu ne le dise pas.
    Edit2:
    et après ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
           If c.Value = ComboBox2.Value Then
                c.Select
                'il faut ajouter Exit FOR, sinon va continuer à bouclé
            End If

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    Je comprend que je me plante!!!
    Mais en gros, je compare une liste attachée au combobox2, si l'élément ne se trouve pas dans la liste "ecritfact" a:... alors il ne m'inscrit rien dans le combobox5 et 1
    jy
    Cordialement,

    Jijie

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

Discussions similaires

  1. Problème sur une condition if simplissime..
    Par PMulE dans le forum Langage
    Réponses: 6
    Dernier message: 09/01/2013, 11h55
  2. Problème sur une condition d'égalité
    Par Nabuchodonosor15 dans le forum MATLAB
    Réponses: 9
    Dernier message: 01/07/2009, 09h09
  3. [Débutant] [break] Problème sur une condition vide
    Par pedrosanchau dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/01/2009, 16h45
  4. [SQL] Problème de requête SQL sur une condition avec OR
    Par vinzginz dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/10/2007, 15h31
  5. problème sur une condition if
    Par boss_gama dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/07/2006, 12h04

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