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 :

[VBA-E] Contrôle If_Then


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Par défaut [VBA-E] Contrôle If_Then
    Bonjour à tous,

    Je voudrai exécuter un code si plusieurs variables sont TOUTES différentes l'une de l'autre :

    Voici ce que j'ai écrit, mais bien sûr cela ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test_control()
     
        Dim a, b, c, d, e As Integer
     
        a = 1
        b = 2
        c = 3
        d = 1
        e = 5
     
        'Ca ça ne fonctionne pas ! Comment faire ?
        If a <> b <> c <> d <> e Then MsgBox "Toutes les variables sont différentes"
     
    End Sub
    Par contre je ne souhaiterais pas avoir à écrire toutes les solutions de comparaison... car là le test est avec 5 variables... mais en réalité il y'en a plus.

    Comment faudrait-il faire ? Il doit exister une petite astuce !

    Merci

    A+

    Damsmut

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    salut
    tu fais un tableau, tu compare la nouvelle entrèe avec toutes les autres, si elle est differente, elle rentre dans le tableau, sinon, elle ne rentre pas

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Par défaut
    Désolé, mais j'ai pas tout compris.
    Peux tu me donner un exemple ?
    merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    bon, c'est jour de bonté
    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
    Sub untableau()
    nbdeligne = Worksheets(1).Cells(65535, 1).End(xlUp).Row
    k = 1
    ReDim tableaudevariable(k)
    tableaudevariable(k) = Cells(k, 1)
    For k = 1 To nbdeligne
    j = UBound(tableaudevariable)
       For i = 1 To j
       If Cells(k + 1, 1) = tableaudevariable(i) Then
       u = False
       MsgBox "  variable déja existante en " & Chr(10) _
       & Cells(k + 1, 1).Address & Chr(10) _
       & "c'est le   " & Cells(k + 1, 1)
       Exit For
       Else:
       u = True
       End If
       Next i
       If u = True Then
       ReDim Preserve tableaudevariable(j + 1)
       tableaudevariable(j + 1) = Cells(k + 1, 1)
       End If
    Next k
     
    For i = 1 To j
    MsgBox "variables entrées   " & tableaudevariable(i)
    Next
    End Sub
    ce code te permet d'analyser une colonne, et de créer un tableau sans qu'aucune variable ne soit répétté, tu est donc sur qu'elle est unique.
    il ne te reste plus qu'a adapter. sinon, tu regarde dans les aides, les faq, les tutoriels, et tu cherche comment enlever les doublons. je ne vois pas comment tu pourrais comparer ta variable avec toutes les combinaisons possible d'un certain nombre de variable, ça ferais trop de combinaisons.

  5. #5
    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
    Par défaut
    Sans utiliser la feuille de calculs, la même
    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
    Sub test_control()
    Dim a, b, c, d, e As Integer
        a = 1
        b = 2
        c = 3
        d = 1
        e = 5
        If a <> b and a<> c and a<>d and a<> e and b <> c and _
              b <> c and b <> d and b <> e and c <> d and _
              c <> e and d<>e then 
                  msgbox "tes variables sont toutes différentes" 
              else
                  msgbox "Tu as des variables semblables "
        endif
    End Sub
    Maintenant, je trouverais une autre solution si j'étais toi

    PS - Pas testé

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Par défaut
    ouskel'n'or j'avais aussi pensé à la même solution que toi...
    mais en pratique j'ai beaucoup plus de variables et les comparaisons n'en finissent plus... trop galère.
    merci
    a+

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

Discussions similaires

  1. [VBA][03]Contrôle survolé par la souris
    Par seb92400 dans le forum VBA Access
    Réponses: 8
    Dernier message: 01/09/2015, 18h20
  2. vba sur contrôle dans un état
    Par dodie84 dans le forum IHM
    Réponses: 2
    Dernier message: 19/05/2008, 16h54
  3. VBA : Source contrôle formulaire
    Par Zartak dans le forum VBA Access
    Réponses: 6
    Dernier message: 14/05/2007, 10h49
  4. [VBA-O] Contrôle des mails à leur arrivée
    Par amalane dans le forum VBA Outlook
    Réponses: 6
    Dernier message: 20/03/2007, 04h10
  5. [VBA-E]Contrôles non visibles
    Par Pollux dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 07/02/2006, 14h17

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