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 :

test if then else qql soit la valeur


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
    Août 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 22
    Par défaut test if then else qql soit la valeur
    bonsoir à tous

    je realise le test suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If ComboBox1.Value <> "" Then condition1 = ComboBox1.Value Else condition1 = "Cells(ligne, 2)"
    If ComboBox2.Value <> "" Then condition2 = ComboBox2.Value Else condition2 = "Cells(ligne, 2)"
     
     
     
    If Cells(ligne, 2) = condition1 And Cells(ligne, 1) = condition2 Then coutinstallation = coutinstallation + Cells(lignefiltrestat, 22) + Cells(lignefiltrestat, 26)
    dans la partie de code suivante je cherche à dire que quelque soit la valeur trouve dans "cells(ligne,2) la condition1 sera toujours egale à la valeurs de "cells(ligne,2). donc qql soit la valeur , c'est toujours bon ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    *****Else condition1= "Cells(ligne, 2)"
    *****Else condition2 = "Cells(ligne, 20)"

    mes variables condition1 et condition2 sont de type string.

    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    Je comprend pas pourquoi tu veux mettre une condition
    Mets ton code complet avec les indentation, par ce que je me demande si tu utilise comme il faut If... Then .... Else ...
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonsoir tlm,

    Bin...je capte pas tout non plus, d'autant plus que dans le code il s'agit 1x de la ligne 2, 1x de la ligne 1 et 1x de la ligne 20.

    Ce qui est certain...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ****Else condition1 = "Cells(ligne, 2)"
    ne fonctionnera pas, hormis attribuer le texte Cells(ligne, 2) à la variable condition1

    Il faudrait simplement écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ****Else condition1 = Cells(ligne, 2)
    sans les guillemets

    Reste à savoir si la déclaration des variables condition1 et 2 comme String est judicieux, que contient la Cells(ligne, 2) ?

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    J'suis fatigué moi ... j'avais même pas vu ces vilains guillemets...
    Bonne nuit
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 22
    Par défaut
    bonjour à tous
    toujours pas facile de se faire comprendre

    je reprends
    mon test final est celle-ci (a savoir qui il a 8 test test1 and test2 and ...and test8)

    mais pour l'exemple j'en prends que 2 .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Cells(ligne, 2) = condition1 And Cells(ligne, 1) = condition2 Then coutinstallation = coutinstallation + Cells(lignefiltrestat, 22) + Cells(lignefiltrestat, 26)
    cells(ligne,X) sont les cellules de ma feuille dont le contenu sera comparé aux combobox.

    Comme il y a une imbriquation de condition (je me suis aidé de certains post du forum)et les combobox ne sont pas forcement renseignes(aucun choix de l'utilisateur donc combobox.value =""), j'ai cree la variable Condition de type string . cette variable condition prend la valeur via la ligne de code ci-dessous.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If ComboBox1.Value <> "" Then condition1 = ComboBox1.Value Else condition1 = "Cells(ligne, 2)"
    mais ou je coince , C'est si le combobox.value = "" il faut que quelque soit la valeurs de ma cells(ligne,2) le resultat du test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .....Cells(ligne, 2) = condition1
    " toujours vrai.


    peut etre un peu plus clair.

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Oui c'était déjà clair avant et je maintiens ma réponse...

    condition1 = "Cells(ligne, 2)" ne fonctionnera pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If ComboBox1.Value <> "" Then condition1 = ComboBox1.Value Else condition1 = Cells(ligne, 2)
    'si Combo1 est vide alors condition1 = Cells(ligne, 2)
    If ComboBox2.Value <> "" Then condition2 = ComboBox2.Value Else condition2 = Cells(ligne, 2)
    'si Combo2 est vide alors condition2 = Cells(ligne, 2)
    Désolé mais hormis les guillemets, où est le problème ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/06/2012, 21h40
  2. [AC-2007] test if then else dans boucle for next
    Par markuus dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/08/2011, 11h41
  3. Exclure valeur avec if then else
    Par kgb1917 dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/10/2007, 13h33
  4. test si parametre = cide IF THEN ELSE
    Par AODRENN dans le forum SQL
    Réponses: 2
    Dernier message: 26/09/2005, 09h00
  5. [CR 7] [débutante] pb avec if then else
    Par xs_nady dans le forum Formules
    Réponses: 8
    Dernier message: 28/05/2004, 15h36

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