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 :

Symbole "ou" dans un while [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut Symbole "ou" dans un while
    Bonjour bonjour !

    Je pense que le titre est assez explicite, j'aimerais savoir comment faire un 'ou' dans un while..
    Google ne m'aide pas des masses, il ne prend pas en compte le "ou" dans la recherche

    En langage C, c'est "||" de mémoire, et je sais pas le faire en VBA

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While valeur <> Cells(j, D) 'ou' Cells(j,E) 'ou' Cells(j,B)
    Merci d'avance pour vos réponses !

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While valeur <> Cells(j, D) Or valeur <>  Cells(j,E) or  valeur <>  Cells(j,B)

  3. #3
    Membre chevronné Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Par défaut
    bonjour,
    Citation Envoyé par backx3 Voir le message

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While valeur <> Cells(j, D) 'ou' Cells(j,E) 'ou' Cells(j,B)
    Merci d'avance pour vos réponses !

    Alors,
    1 tu est bien parti,
    2 je suis pas sur que sa puisse marcher ainsi,
    3 dans les solutions que je te propose je serai sur du fonctionnement que d'une seule xD.
    code pas sur que sa marche mais sa ressemble a ton besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while valeur <> Cells(j, D) or valeur <> Cells(j, E) or valeur <> Cells(j, B)
    en revanche, je te conseille de passer par (sa marche):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim x as integer
    x = 0
    while x < 1
        if valeur <> Cells(j, D) or valeur <> Cells(j, E) or valeur <> Cells(j, B) then
            x = 2
        end if
    wend
    ou de façon moins compacte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    dim x as integer
    x = 0
    while x < 1
        if valeur <> Cells(j, D) then
            x = 2
        else if valeur <> Cells(j, E) then
            x = 2
        else if valeur <> Cells(j, B) then
            x = 2
        end if
    wend
    coucou rdurupt, j'ai été trop lent =)

  4. #4
    Invité
    Invité(e)
    Par défaut
    coucou rdurupt, j'ai été trop lent =)
    normale tu en fait un roman

  5. #5
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut
    Merci pour vos réponses, il ne fallait pas chercher bien loin pour le "or" ^^

    pasdechances (sympa le pseudo ^^), je ne vois pas à quoi correspond ton x.. Pourquoi est-il égal à 2 ?

    Mon code entier, consiste à faire une comparaison entre deux fichiers. Pour faire ça, mon frère m'a aidé et m'a dis de faire un "tableau" avec en colonne 1, le nombre de ligne du premier fichier et en colonne 2, le nombre de lignes du 2eme fichier. Et faire correspondre les lignes si les valeurs sont les mêmes. (C'est un tableau fictif).

    Je sais pas si c'est assez clair, mais du coup mon début de code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            '----- COMPARAISON -----'
     
        'Pour chaque ligne du Gantt_B, on regarde si il y a une correspondance dans le planning EQM
        Workbooks("Gantt_B_trié.xlsm").Activate
     
        'Détermine la dernière ligne de la colonne A
        LigneMax = Sheets("Jalons").Range("A65536").End(xlUp).Row
     
    For i = 1 To LigneMax
        valeur = Cells(i, D)
        valeur1 = Cells(i, E)
        Valeur2 = Cells(i, B)
        j = 1
        While valeur <> Cells(j, D)
    C'est pour ça que je ne sais pas à quoi correspond ton "x" ^^

  6. #6
    Membre chevronné Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Par défaut
    Citation Envoyé par backx3 Voir le message
    C'est pour ça que je ne sais pas à quoi correspond ton "x" ^^
    =D comme en maths !
    x correspond a une variable lambda, elle est juste la pour dire "quand est-ce qu'on arrête le while", après tu peut le remplacer par se que tu veu c’était un exemple de se que tu pouvais faire =)

  7. #7
    Invité
    Invité(e)
    Par défaut
    je ne vois pas de comparaison entre le fichier1 et e fichier2!
    tu compte tes cellule de 1 à max de "Jalons" et tu ne travail que sur les cellule activent de "Gantt_B_trié.xlsm"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 1 To LigneMax 'fait référence à "Jalons"
        valeur = Cells(i, D)  'fait référence à Gantt_B_trié.xlsm"
        valeur1 = Cells(i, E)
        Valeur2 = Cells(i, B)
        j = 1
        While valeur <> Cells(j, D)

  8. #8
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut
    Ah oui donc le x ne sert qu'à arrêter le while, je vois je vois

    Pour la comparaison, c'est normal, c'est pas fini

    J'ai presque rien fait de ce que je veux faire, je compte les cellules pour savoir combien il y en a à comparer, mais ensuite je vais devoir les comparer à celles d'un autre fichier

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

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