Condition if et elseif

bonjour je travail sur un projet VBA pour les cours mais j'ai débuter la programmation cette année.

mon objectif est le suivant : je veux afficher une image en fonction de la luminosité souhaité.

pour ça 4 choix possibles (très lumineux/ lumineux/ tamisé/ sombre) je récupère ensuite l'information dans une cellule excel et je la met dans une variable.

jusque la tout marche mais quand je veux mettre en place ma procédure avec des if imbriqués ou des elseif j'ai soit un message d'erreur me disant que je met trop de End if soit ma variable ne se test pas avec le premier if.

De plus dans mes if j'ai une deuxième condition qui doit être vérifié j'avais donc utiliser un bloc And.

j'espère que je suis compréhensible je vous met la partie du code qui me pose problème

merci d'avance pour votre aide mon travail est à rendre pour le 30 décembre...

If lumiere = "lumineux" Then

If meteo = "averse" Then I_50_75_averse.Visible = True

ElseIf meteo = "ciel couvert" Then I_50_75_cielcouvert.Visible = True

ElseIf meteo = "peu nuageux" Then I_50_75_peunuageux.Visible = True

Else: I_50_75_brouillardbruinepluie.Visible = True

End If

j'ai aussi essayé avec cette syntaxe :

If lumiere = "très lumineux" And meteo = "Averses de pluie" Then

I_50_75_averse.Visible = True

ElseIf lumiere = "très lumineux" And meteo = "Ciel couvert" Then I_50_75_cielcouvert.Visible = True

ElseIf lumiere = "très lumineux" And meteo = "Ciel peu nuageux" Then I_50_75_peunuageux.Visible = True

ElseIf lumiere = "très lumineux" And meteo = "Ciel très nuageux" Then I_50_75_tresnuageux.Visible = True

ElseIf lumiere = "très lumineux" And meteo = "Ciel serein" Then I_50_75_serain.Visible = True

Else: I_50_75_brouillardbruinepluie.Visible = True

End If

bonsoir

essaie ceci

 If lumiere = "très lumineux" And meteo = "Averses de pluie" Then
        I_50_75_averse.Visible = True
    ElseIf lumiere = "très lumineux" And meteo = "Ciel couvert" Then
        I_50_75_cielcouvert.Visible = True
    ElseIf lumiere = "très lumineux" And meteo = "Ciel peu nuageux" Then
        I_50_75_peunuageux.Visible = True
    ElseIf lumiere = "très lumineux" And meteo = "Ciel très nuageux" Then
        I_50_75_tresnuageux.Visible = True
    ElseIf lumiere = "très lumineux" And meteo = "Ciel serein" Then
        I_50_75_serain.Visible = True
    Else
        I_50_75_brouillardbruinepluie.Visible = True
    End If

bonjour merci de votre réponse mais malheureusement j'avais déja essayé et ça ne marche pas malheureusement, j'ai l'impression que l’algorithme ne prends pas en compte la valeur de la variable "lumière" et donc ne m'affiche pas la bonne image...

auriez vous d'autres méthodes ou moyen d'écrire le code ?

bonjour,

en soi, le code fourni est correct (syntaxe et logique), mais doit sans doute être adapté à tes données que tu ne nous as pas mises. Une majuscule ou un espace peut faire une différence.

Donc merci de mettre ton fichier comme mentionné dans les instructions d'utilisation du forum.

bonjour j'ai récrit mon code autrement et cette fois ça marche je ne sais vraiment pas pourquoi

j'aurai aimé mettre le fichier mais 3Mo c'est trop pour le forum...

merci quand même du temps que vous m'avez consacré.

Bonjour,

peux-tu nous mettre ton code ?

oui au final ça me donne ça :

If lumiere = "très lumineux" Then

If meteo = "Averses de pluie" Then

I_75_100_averse.Visible = True

ElseIf meteo = "Ciel couvert" Then

I_75_100_cielcouvert.Visible = True

ElseIf meteo = "Ciel peu nuageux" Then

I_75_100_peunuageux.Visible = True

ElseIf meteo = "Ciel très nuageux" Then

I_75_100_tresnuageux.Visible = True

ElseIf meteo = "Ciel serein" Then

I_75_100_serain.Visible = True

Else: I_75_100_brouillardbruinepluie.Visible = True

End If

End If

et j'ai mis d'autres If en dessous selon la valeur de "lumière"

Rechercher des sujets similaires à "condition elseif"