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-2013]


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
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Par défaut Erreur de compilation - Else sans If
    Bonjour tout le monde,

    J'ai un petit souci dans mon code et n'arrive pas à trouver ma faille (surement une erreur de synthaxe).

    En effet, au lancement de l'éxécution du code suivant:
    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
    If DateMAJ < Date Then
     
    'Si aucune modification effectuée dans la journée, mise à jour de la date
        'Mise à jour date Systeme 1
     
                i = 1
        While Not Range("C" & i).Value = ""
            i = i + 1
     
     
            Sheets("Dates Update").Range("A" & i).Value = TextBox2.Value 'Jour
     
            i = 1
        While Not Range("C" & i).Value = ""
            i = i + 1
        Wend
            Sheets("Dates Update").Range("B" & i).Value = TextBox3.Value 'Mois
     
            i = 1
        While Not Range("C" & i).Value = ""
            i = i + 1
        Wend
            Sheets("Dates Update").Range("C" & i).Value = TextBox4.Value 'Année
     
     
         'Si déjà modification dans la même journée, demander la confirmation de suppression
     
    ElseIf MsgBox("Il y a déjà eu une mise à jour des dates aujourd'hui. En pursuivant, vous effacerez les dates rentrées précédemment aujourd'hui. Voulez-vous continuer?", vbYesNo, "Demande de confirmation") = vbYes Then
     
            Range("A" & MaPlage & "B" & MaPlage & ":C" & MaPlage).Select
            Selection.ClearContents
     
            Sheets("Dates Update").Range("A" & MaPlage).Value = TextBox2.Value 'Jour
            Sheets("Dates Update").Range("B" & MaPlage).Value = TextBox2.Value 'Mois
            Sheets("Dates Update").Range("C" & MaPlage).Value = TextBox2.Value 'Année
     
    End If
    j'ai le message d'erreur suivant: "Erreur de compilation - Else sans If".

    En remerciant qui pourra m'aider.

    Bonne journée.

    Sebastien

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu as un bloc While/Wend non fermé

    en indentant correctement ton code, tu l'aurais vu aisément




    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
    If DateMAJ < Date Then
    'Si aucune modification effectuée dans la journée, mise à jour de la date
        'Mise à jour date Systeme 1
        i = 1
        While Not Range("C" & i).Value = ""
            i = i + 1
        Wend
        '$$$$$$$$$$$$$$$$$$$$$
        '$$$$$ ICI $$$$$$$$$$$
        '$$$$$$$$$$$$$$$$$$$$$
        Sheets("Dates Update").Range("A" & i).Value = TextBox2.Value 'Jour
            i = 1
     
        While Not Range("C" & i).Value = ""
            i = i + 1
        Wend
     
        Sheets("Dates Update").Range("B" & i).Value = TextBox3.Value 'Mois
        i = 1
     
        While Not Range("C" & i).Value = ""
            i = i + 1
        Wend
     
        Sheets("Dates Update").Range("C" & i).Value = TextBox4.Value 'Année
        'Si déjà modification dans la même journée, demander la confirmation de suppression
    ElseIf MsgBox("Il y a déjà eu une mise à jour des dates aujourd'hui. En pursuivant, vous effacerez les dates rentrées précédemment aujourd'hui. Voulez-vous continuer?", vbYesNo, "Demande de confirmation") = vbYes Then
            Range("A" & MaPlage & "B" & MaPlage & ":C" & MaPlage).Select
            Selection.ClearContents
            Sheets("Dates Update").Range("A" & MaPlage).Value = TextBox2.Value 'Jour
            Sheets("Dates Update").Range("B" & MaPlage).Value = TextBox2.Value 'Mois
            Sheets("Dates Update").Range("C" & MaPlage).Value = TextBox2.Value 'Année
    End If
    d'ailleurs ces blocs me laissent perplexes

  3. #3
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    Salut. Il suffisait de s'appliquer en respectant l'indentation et l'erreur aurait ete vite detecte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    If DateMAJ < Date Then
        While Not Range("C" & i).Value = ""
            ...
            While Not Range("C" & i).Value = ""
                ...
            Wend
            ...
            While Not Range("C" & i).Value = ""
                ...
            Wend
            ...
        ...
    ElseIf ...
    On voit un ElseIf orphelin dans le While de premier niveau.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Par défaut


    Parfait merci à vous.

    Errarum Humanum Est

  5. #5
    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
    Bonjour, juste pour le fun:
    La formule est "Errare humanum est" avec sa suite "Perseverare diabolicum"
    On ne cite généralement que la première, mais l'une ne va pas sans l'autre.
    Cordialement

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

Discussions similaires

  1. [XL-2007] Erreur de compilation - Else sans if
    Par Aurélien13140 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/06/2017, 17h51
  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