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 :

Prblème avec les if , else end if [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Par défaut Prblème avec les if , else end if
    Bonjour,

    j'ai beaucoup de mal à gérer la syntaxe avec les if ,else ,end if.Lors que j'exécute des macros avec les if , j'ai souvent le message d'erreur "Els sans if". J'ai beau rajouter le if , ça n'y change rien . Voici mon code:

    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
     Dim DerLig As Long, d As Long, LeTot As Long
    Dim c As Byte, LeMois As Byte
     
    For c = 8 To 18 'Boucle sur les mois en feuille 2
        LeMois = Month(Sheets("Donnees pour graph").Cells(40, c)) 'Récupère le mois en fonction de la colonne
        DerLig = Sheets("Feuil3").Cells(Columns(2).Cells.Count, 2).End(xlUp).Row 'Défini la dernière ligne remplie de la feuille1 sur base de la colonne 2
            For d = 3 To DerLig 'Boucle sur les lignes de la feuille 2
                If Month(Sheets("Feuil3").Cells(d, 2)) = LeMois Then LeTot = LeTot + Sheets("Feuil3").Cells(d, 3)  'Si le mois correspond on incrémente le Total
                       Else:LeTot = 0
                    End If
                Next d
        Sheets("Donnees pour graph").Cells(2, c) = LeTot 'On affecte le total à la cellule correspondante
        'LeTot = 0 'Remise à zéro du Total
    Next c 'Passe au mois suivant
     
    End Sub
    Quelqu'un peut-il me donner une règle de base pour la syntaxe de ces "if..." sur excel 2003, car j'ai souvent ce PB .

    Merci .

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Essayes cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Month(Sheets("Feuil3").Cells(d, 2)) = LeMois Then 
         LeTot = LeTot + Sheets("Feuil3").Cells(d, 3)  'Si le mois correspond on incrémente le Total
    Else
          LeTot = 0
    End If
    Philippe

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Par défaut
    Ca a l'air de marcher.Donc généralement je dois toujours revenir à la ligne apres un "Then" ou un Else??

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Tu peux écrire après le Then, s'il n'y a pas de Else.

    La syntaxe que je te donne est à préférer, cela donne un code plus clair.

    Philippe

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

Discussions similaires

  1. Un problème avec Do/Loop et If/else/end If
    Par blaiso dans le forum Général VBA
    Réponses: 3
    Dernier message: 26/09/2011, 09h02
  2. Réponses: 9
    Dernier message: 29/03/2011, 20h45
  3. Prôblèmes avec les propriétés dans une boucle
    Par Jasred36 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 16/10/2010, 15h07
  4. Réponses: 16
    Dernier message: 02/04/2010, 20h14
  5. Problème avec les "else if"
    Par ookki dans le forum C++
    Réponses: 5
    Dernier message: 22/06/2008, 18h25

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