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 :

Erreur de compilation : Else without If [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 24
    Par défaut Erreur de compilation : Else without If
    Bonjour,

    J'ai le message suivant "erreur de compilation : else without if". Pourtant j'ai le meme nombre de de If et de End If.
    Il m'affiche ce message a la ligne de code 20 et me surligne ce que j'ai mi en gras.

    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
    Private Sub CommandButton3_Click()
    ' Save Revision
        
        ActiveSheet.Unprotect
        If Range("C4").Value <> "" Then
            If Range("E4").Value <> "" Then
                If Range("L7").Value <> "" Then
                    If Range("C13").Value <> "" Then
                        If Range("D13").Value <> "" Then
                            If Range("E13").Value <> "" Then
                                If Range("F13").Value <> "" Then
                                
                                'blablabla
                                
                                Else: MsgBox ("Each cell must be fill out")
                                
                                    ' Enter automaticly the document subset in the complete list
                                    Sheets("COMPLETE LIST").Select
                                    If ActiveSheet.Range("F8") = "BS" Then ActiveSheet.Range("E8") = "BUILD SHEET"
                                        ElseIf ActiveSheet.Range("F8") = "SO" Then ActiveSheet.Range("E8") = "SIGN OFF SHEET"
                                            ElseIf ActiveSheet.Range("F8") = "CI" Then ActiveSheet.Range("E8") = "CHECK IN SHEET"
                                                Else: ActiveSheet.Range("E8") = "RACE REPORT"
                                    End If
                                
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
    End Sub
    est-ce l'ordre des actions qui n'est pas le bon ?

    Amicalement

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Essaie comme ceci pour voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                                    If ActiveSheet.Range("F8") = "BS" Then 
                                         ActiveSheet.Range("E8") = "BUILD SHEET"
                                    ElseIf ActiveSheet.Range("F8") = "SO" Then 
                                         ActiveSheet.Range("E8") = "SIGN OFF SHEET"
                                    ElseIf ActiveSheet.Range("F8") = "CI" Then 
                                         ActiveSheet.Range("E8") = "CHECK IN SHEET"
                                    Else
                                        ActiveSheet.Range("E8") = "RACE REPORT"
                                    End If

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 24
    Par défaut
    Merci ca fonctionne

    VBA est vraiment capricieux ...

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

Discussions similaires

  1. If - Else & erreur de compilation Else sans if
    Par toniodelavega dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/08/2010, 15h15
  2. [TPW][Débutant] else (erreur à la compilation)
    Par dimi2 dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 05/04/2008, 16h11
  3. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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