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 dans l'utilisation de if, elseif, else imbriqués


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
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 86
    Par défaut erreur dans l'utilisation de if, elseif, else imbriqués
    Bonjour à tous,
    en lisant l'intitulé quelqu'un a sûrement un tuto à m'envoyer.
    Pouvez,s'il vous plait, me dire ce qui ne va pas?
    le code semble ne pas marcher après le 2ieme ELSEIF.
    le code que j'ai écrit.
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Windows(strExtractDataFile).Activate
     With Sheets("CAL")
     
       For i = 2 To intNbLigneAVAN_cal
       'cas1
    If (proftub1 <> 0 And .Cells(i, 7) <= proftub1) Then
    .Cells(i, 8) = diamnom1
      ElseIf (.Cells(i, 14) <= 38 And .Cells(i, 7) > proftub1) Then .Cells(i, 8) = diamnom2
     'Else: .Cells(i, 8) = .Cells(i, 14)
      'End If
     
     'cas2
     ElseIf (proftub2 <> 0 And .Cells(i, 7) > proftub1 And .Cells(i, 7) <= proftub2) Then
     .Cells(i, 8) = diamnom2
     ElseIf (proftub2 <> 0 And .Cells(i, 14) <= 38 And .Cells(i, 7) > proftub2) Then
     .Cells(i, 8) = diamnom3
     'Else: .Cells(i, 8) = .Cells(i, 14)
    ' End If
     'cas3
    ElseIf (proftub3 <> 0 And .Cells(i, 7) > proftub2 And .Cells(i, 7) <= proftub3) Then
    .Cells(i, 8) = diamnom3
     ElseIf (proftub3 <> 0 And .Cells(i, 14) <= 38 And .Cells(i, 7) > proftub3) Then .Cells(i, 8) = diamnom4
    ' Else: .Cells(i, 8) = .Cells(i, 14)
    'End If
     
    'cas4
    ElseIf (proftub4 <> 0 And .Cells(i, 7) > proftub3 And .Cells(i, 7) <= proftub4) Then
    .Cells(i, 8) = diamnom4
     ElseIf (proftub4 <> 0 And .Cells(i, 14) <= 38 And .Cells(i, 7) > proftub4) Then .Cells(i, 8) = diamnom5
    '  Else: .Cells(i, 8) = .Cells(i, 14)
     ' End If
      'cas5
    ElseIf (proftub5 <> 0 And .Cells(i, 7) > proftub4 And .Cells(i, 7) <= proftub5) Then
    .Cells(i, 2) = diamnom5
    ElseIf (proftub5 <> 0 And .Cells(i, 14) <= 38 And .Cells(i, 7) > proftub5) Then .Cells(i, 8) = diamnom6
    '  Else: .Cells(i, 8) = .Cells(i, 14)
     ' End If
      'cas6
    ElseIf (proftub6 <> 0 And .Cells(i, 7) > proftub5 And .Cells(i, 7) <= proftub6) Then
    .Cells(i, 2) = diamnom6
     ElseIf (proftub6 <> 0 And .Cells(i, 14) <= 38 And .Cells(i, 7) > proftub6) Then .Cells(i, 8) = diamnom6
     Else:
     
     .Cells(i, 8) = .Cells(i, 14)
      End If
     Next i
    End With
    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour Maude,
    Dans ton premier ElseIf, essayes de remplacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ElseIf (.Cells(i, 14) <= 38 And .Cells(i, 7) > proftub1) Then .Cells(i, 8) = diamnom2
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ElseIf (.Cells(i, 14) <= 38 And .Cells(i, 7) > proftub1) Then
    .Cells(i, 8) = diamnom2
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

Discussions similaires

  1. Erreur dans l'utilisation d'ActionWebService
    Par NacedoChristo dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 25/03/2010, 15h37
  2. Erreur dans l'utilisation de générique
    Par jybux dans le forum C#
    Réponses: 2
    Dernier message: 21/02/2010, 12h03
  3. VBA-Excel Erreur dans syntaxe requete en utilisant ADO
    Par rafnt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/10/2006, 14h23
  4. [Système] probleme dans la structure if/elseif/else
    Par samsso2005 dans le forum Langage
    Réponses: 9
    Dernier message: 14/03/2006, 17h50
  5. Erreur dans l'utilisation de SWAP
    Par mire dans le forum Langage
    Réponses: 12
    Dernier message: 15/03/2003, 21h39

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