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 étrange : le compilateur ne lis pas les IF ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2017
    Messages : 2
    Par défaut Erreur de compilation étrange : le compilateur ne lis pas les IF ?
    Bonjour, j'ai ecris un petit truc pour faire un calcul un peu lourd a la main, et j'ai oublié d'enregistrer la macro , du coup je le réécris mais ce coup là j'ai une erreur "Else sans If" et je n'arrive pas a comprendre pourquoi , ça doit être évident pourtant mais...?

    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
    Sub dure()
    Dim i As Integer
     
    For i = 2 To 641
     
    If Cells(i, 9) <> "" Then Cells(i, 11) = Cells(i, 12)
    ElseIf Cells(i, 8) <> "" Then Cells(i, 11) = Cells(i, 13)
    ElseIf Cells(i, 7) <> "" Then Cells(i, 11) = Cells(i, 14)
    ElseIf Cells(i, 6) <> "" Then Cells(i, 11) = Cells(i, 15)
    ElseIf Cells(i, 5) <> "" Then Cells(i, 11) = Cells(i, 16)
    ElseIf Cells(i, 4) <> "" Then Cells(i, 11) = Cells(i, 17)
    ElseIf Cells(i, 3) <> "" Then Cells(i, 11) = Cells(i, 18)
    Else: Cells(i, 11) = "SANS FU"
     
    End If
     
    Next i
     
    End Sub

  2. #2
    Membre averti Avatar de Kentarosan
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 37
    Par défaut
    Bien le bonjour !

    En effet c'est tout bête, il suffit que tu mettes ce qu'il y a après le premier Then à la ligne pour que VBA considère que ton if...elseif...else est sur plusieurs lignes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub dure()
    Dim i As Integer
     
    For i = 2 To 641
     
     
    If Cells(i, 9) <> "" Then
    Cells(i, 11) = Cells(i, 12)
    ElseIf Cells(i, 8) <> "" Then Cells(i, 11) = Cells(i, 13)
    ElseIf Cells(i, 7) <> "" Then Cells(i, 11) = Cells(i, 14)
    En espérant avoir aidé !

    PS: Pense à la balise Code la prochaine fois, c'est plus propre

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2017
    Messages : 2
    Par défaut


    J'adore VBA , j'ai dû mettre la chose a la ligne sans le faire exprès la première fois

    Merci beacoup

  4. #4
    Membre averti Avatar de Kentarosan
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 37
    Par défaut
    Oui, un vrai plaisir quand on n'a pas l'habitude

    Pas de soucis. Pense à mettre le post en

  5. #5
    Membre émérite Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Par défaut
    Bonjour,
    Juste une petite précision qu'il aurait été utile de dire c'est comme a été marqué la condition comme là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(i, 9) <> "" Then Cells(i, 11) = Cells(i, 12)
    Vba a conclus que la condition était fini, vu qu'on peu tenir une condition sur une seule ligne, d'où
    erreur "Else sans If"
    A bientôt

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

Discussions similaires

  1. Des erreurs de compilation étrange
    Par Invité dans le forum C++
    Réponses: 5
    Dernier message: 27/12/2010, 17h04
  2. Réponses: 3
    Dernier message: 22/09/2009, 16h29
  3. Erreur de compilation étrange
    Par djaibi dans le forum C++
    Réponses: 8
    Dernier message: 27/03/2009, 04h57
  4. Réponses: 4
    Dernier message: 17/11/2007, 10h10
  5. Erreur de compilation étrange
    Par poukill dans le forum C++
    Réponses: 5
    Dernier message: 19/10/2007, 09h55

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