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 :

variable, if, elseif, else


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Janvier 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Janvier 2022
    Messages : 12
    Par défaut variable, if, elseif, else
    Bonjour,

    j'ai du mal à bien comprendre l'imbrication de condition avec les variables. je crois que je n'ai pas compris l'architecture de la conception du module VBA.

    je m'explique:

    SI jean a moins de 5 ans ALORS pas d'argent de poche, SINON SI il a entre 5 ET 10 ALORS 5€, SINON SI 11 et 18 ALORS 10€, SINON trop vieux. Et SI c'est pas jean mais autre prénom ALORS c'est pas le bon prénom.

    Et après il faudrait imbriqué ca avec ses notes par exemple:
    de 0 a 10 droit argent de poche sinon de 11 à 15 argent X2 et le reste X3

    quelqu'un serait disponible pour m'aider à comprendre ou m'expliquer sur cette exemple?

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pas besoins d'utiliser l'instruction If et franchement pas besoin de VBA non plus.
    Un simple tableau de correspondance reprenant l'âge minium et le montant de l'argent de poche et une simple fonction de recherche telle que RECHERCHEV, EQUIV imbriqué à INDEX ou encore RECHERCHEX suffit amplement

    Un exemple dans l'un de mes billets titré Comment remplacer des SI imbriqués par la fonction RECHERCHEV
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Janvier 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Janvier 2022
    Messages : 12
    Par défaut
    En faite la c est en gros un exemple je travail sur un fichier avec énormément de lignes et les conditions ne sont pas aussi simple. C est vraiment du VBA que j ai besoin. Ça vas jusqu’à une dizaine de conditions

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Bonjout,
    Quand bien même, il y aurait 200.000 lignes et 15 conditions, l'usage de tableau de correspondance et de fonctions natives d'excel même en utilisant le VBA est bien plus simple à réaliser et surtout plus léger à maintenir.

    [EDIT]
    Pour en savoir plus sur les instruction If..Then...Else, ElseIf, Select Case, je vous conseille la lecture du chapitre 11. Les structures décisionnelles du tutoriel Initiation au VBA Office
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Janvier 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Janvier 2022
    Messages : 12
    Par défaut
    Merci je vais regarder les pages, bonne fin de journée

  6. #6
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Pour le fun , voila une possibilité à adapter à votre spécificité.

    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
    Sub test()
    Dim Prenom As String
    Dim Age As Integer
    Dim Argent As Integer
    Prenom = Range("B1").Value    'Prénom dans cellule B1
    Age = Range("C1").Value         'Age dans cellule C1
    If Prenom = "Jean" Then
        If Age < 5 Then
        Argent = 0
        ElseIf Age > 5 And Age < 11 Then: Argent = 5
        ElseIf Age > 10 And Age < 19 Then: Argent = 10
        Else
        Argent = 0
        End If
        Range("D1").Value = Argent        'La réponse Argent est dans cellule D1
    Else
     MsgBox "ça n'est pas le bon prénom!"
    End If
    End Sub
    Cordialement

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

Discussions similaires

  1. Syntax error : if, elseif, else
    Par Invité dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/01/2013, 09h39
  2. if elseif else ?
    Par caroen dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2008, 10h29
  3. elseif else if
    Par Linio dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2008, 10h30
  4. Synthétiser un groupe de if, elseif, else
    Par seb1395 dans le forum Langage
    Réponses: 5
    Dernier message: 24/12/2007, 14h37
  5. [Système] probleme dans la structure if/elseif/else
    Par samsso2005 dans le forum Langage
    Réponses: 9
    Dernier message: 14/03/2006, 17h50

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