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 sans if [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2016
    Messages : 42
    Par défaut Erreur de compilation - Else sans if
    Bonjour,
    Je viens vers vous car cette erreur queje n'arrive pas à comprendre
    Nom : Sans titre.png
Affichages : 719
Taille : 13,3 Ko
    quand j'execute le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                        If OptionButton1.Value = True Then
                            Sheets("parametres").Cells(Lig, 53) = TextBox1.Value
                            Sheets("parametres").Cells(Lig, 54) = TextBox2.Value
                        ElseIf OptionButton2.Value = True Or OptionButton3.Value = True Then
                            With Worksheets("parametres")
                                 .Hyperlinks.Add Anchor:=.Range("BC" & Lig), _
                                 Address:=TextBox3.Value, _
                                 ScreenTip:="", _
                                 TextToDisplay:=TextBox1.Value
                        Else
                            MsgBox "Aucun résultat"
                        End If
    Quand je met cette partie en commentaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                        If OptionButton1.Value = True Then
                            Sheets("parametres").Cells(Lig, 53) = TextBox1.Value
                            Sheets("parametres").Cells(Lig, 54) = TextBox2.Value
    '                    ElseIf OptionButton2.Value = True Or OptionButton3.Value = True Then
    '                        With Worksheets("parametres")
    '                             .Hyperlinks.Add Anchor:=.Range("BC" & Lig), _
    '                             Address:=TextBox3.Value, _
    '                             ScreenTip:="", _
    '                             TextToDisplay:=TextBox1.Value
                        Else
                            MsgBox "Aucun résultat"
                        End If
    , je n'ai plus l'erreur.

    Arrivez vous à voir où ça cloche????

    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2016
    Messages : 42
    Par défaut
    Post crée pour pas grand chose.....
    J'avais simplement oublié le End with....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
                        If OptionButton1.Value = True Then
                            Sheets("parametres").Cells(Lig, 53) = TextBox1.Value
                            Sheets("parametres").Cells(Lig, 54) = TextBox2.Value
                        ElseIf OptionButton2.Value = True Or OptionButton3.Value = True Then
                            With Worksheets("parametres")
                                 .Hyperlinks.Add Anchor:=.Range("BC" & Lig), _
                                 Address:=TextBox3.Value, _
                                 ScreenTip:="", _
                                 TextToDisplay:=TextBox1.Value
                        Else
                            MsgBox "Aucun résultat"
                            end with
                        End If
    Si ca peut servir à quelqu'un....

    A+

  3. #3
    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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Etant donné que tu utilises également la feuille nommée [parametres] dans toute la structure conditionnelle, j'aurais placé cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Worksheets("parametres")
    en début du bloc If

    De plus, je trouve l'utilisation des ElseIf un peu indigeste à la lecture, je privilégierais le Select Case

    Petit exemple
    avec ElseIf (petite remarque également If Val_1 = True Then peut-être remplacé par If Val_1 Then le True étant implicite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     If Val_1 = True Then
       MsgBox "val_1"
     ElseIf Val_2 = True Then
       MsgBox "val_2"
     Else
       MsgBox "rien de prévu"
     End If
    avec Select Case
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Select Case True
      Case Val_1
       MsgBox "val_1"
      Case Val_2
       MsgBox "val_2"
      Case Else
       MsgBox "rien de prévu"
     End Select
    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

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/03/2014, 15h10
  2. Erreur de compilation Next sans For
    Par November-Oscar dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/11/2011, 20h01
  3. [XL-2007] Erreur de compilation : Boucle sans Do
    Par JoeJoeH dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/07/2011, 16h26
  4. 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
  5. [XL-2007] Erreur de compilation wend sans while
    Par Loupire dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2010, 09h21

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