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 :

Problème If - ElseIf [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Par défaut Problème If - ElseIf
    Bonjour,

    J'ai crée le code suivant qui teste plusieurs conditions
    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
    Private Sub CommandButton1_Click()
     
    If TextBox1.Text = "" And TextBox2.Text = "" And TextBox3.Text = "" Then
    MsgBox "Rentrer une valeur"
     
    End If
     
    If TextBox1.Value <> "" Then MsgBox "OK text 1"
     
    ElseIf TextBox2.Value <> "" Then MsgBox "OK text 2"
     
    ElseIf TextBox3.Value <> "" Then MsgBox "OK text 3"
     
    Else: MsgBox "Rentrer une valeur"
     
     
    End If
     
     
    End Sub
    C'est un code assez basique qui doit me servir de base pour faire un peu plus compliqué ensuite. Je rencontre cependant un problème au niveau de mon bloc ElseIf en effet VBA me renvoit une erreur a chaque fois me disant que Else n'a pas de If et je dois dire que là je ne vois pas pourquoi.


    Si vous pouviez me dépanner! Merci à vous

    Julien

  2. #2
    Membre Expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Par défaut
    Bonjour,

    Il ne faut pas mettre ":" après else, c'est un nom d'étiquette sinon vers où tu renvoies et avec un mot réservé du langage, c'est pas terrible.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Else MsgBox "Rentrer une valeur"

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Par défaut
    En fait les ":" après le Else se mette automatiquement quand je fais entrer. Mais j'ai résolu mon soucis en mettant à la ligne à chaque fois après le Then. Cà fonctionne, voilà mon code.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Private Sub CommandButton1_Click()
     
    Dim iL As Long
    Dim P As Worksheet
    Dim M As Worksheet
     
    Set P = Worksheets("Sheet2")
    Set M = Worksheets("Sheet3")
     
    iP2 = Sheet1.Cells(100, 1).Value
     
    If TextBox1.Value <> "" Then
     
     For iL = 1 To 20
     
                If P.Cells(iL, 2).Text = TextBox1.Text Then
                   P.Rows(iL).Copy M.Cells(iP2, 1)
     
                iP2 = iP2 + 1
                End If
     
            Next
    M.Select
     
    ElseIf TextBox2.Value <> "" Then
    MsgBox "OK text 2"
     
    ElseIf TextBox3.Value <> "" Then
    MsgBox "OK text 3"
     
    Else: MsgBox "Rentrer une valeur"
     
     
    End If
     
     
    End Sub
    Ce n'est plus vraiment le même car je donne une autre instruction après le premier Then mais la logique est la même.

    Merci

    Julien

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

Discussions similaires

  1. [XL-2010] Problème avec If ElseIf
    Par duchesse_ dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/08/2014, 10h58
  2. [CR XI] Problème de syntaxe IF-ELSE || IF-ELSEIF-ELSE
    Par ygyongy dans le forum Formules
    Réponses: 3
    Dernier message: 23/07/2013, 17h30
  3. Problème elseif dans l'envoi d'un formulaire
    Par Rifton007 dans le forum Langage
    Réponses: 5
    Dernier message: 22/11/2011, 18h52
  4. Réponses: 9
    Dernier message: 29/03/2011, 20h45
  5. Problème if elseif
    Par krfa1 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/10/2005, 13h40

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