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 :

Syntaxe conditions if


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 96
    Par défaut
    bonjour à tous, j'ai un petit soucis une nouvelle fois...voilà, j'aimerais combiner deux conditions pour effectuer mon if. Mes 2 conditions sont entre paranthèses séparées par le or. Cependant le programme ne s'exécute pas comme je le souhaiterais quand la 2ème condition est vérifiée...quelqu'un pourrait il m'aider s'il vous plait? merci à vous et bonne journée

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Cells(8, ColonneTCDyn).Value <> Cells(8, ColonneTCDyn - 1).Value + 1) Or (Cells(8, ColonneTCDyn).Value = 12 And Cells(8, ColonneTCDyn - 1).Value <> 1) Then
    pardon voici plutôt mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If (Cells(8, ColonneTCDyn).Value <> Cells(8, ColonneTCDyn - 1).Value + 1) Or (Cells(8, ColonneTCDyn - 1).Value = 12 And Cells(8, ColonneTCDyn).Value <> 1) Then
    la seconde condition n'est pas testée quand elle le devrait...

  2. #2
    Membre chevronné Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Par défaut
    Salut,

    Il faudrait que tu nous explique surtout fonctionnellement ce que tu voudrais obtenir car sauf erreur de syntaxe (qu'il n'y a pas l'air d'y avoir), on ne peut pas grand chose pour toi ...

    Cordialement.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 96
    Par défaut
    il n 'y a vraiment pas d'erreur de syntaxe? d'accord...pourtant d'apès mes espions lorsque je tombe sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(8, ColonneTCDyn - 1).Value = 12
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(8, ColonneTCDyn).Value = 1
    , je rentre dans l'exécution de mon if...
    je suis en fait en train de tester si la valeurs des mois se suivent bien afin d'insérer des valeurs dans un autre tableau dans le cas contraire. Je dois donc vérifier que les valeurs des mois vont en s'incrémentant ou que le mois de décembre (12) soit bien suivi par un mois de janvier (1)

    mes mois étant vous l'aurez deviné sur ma 8ème ligne

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    il n 'y a vraiment pas d'erreur de syntaxe? d'accord...pourtant d'apès mes espions lorsque je tombe sur Cells(8, ColonneTCDyn - 1).Value = 12 et Cells(8, ColonneTCDyn).Value = 1, je rentre dans l'exécution de mon if...
    Dans ce cas,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(8, ColonneTCDyn).Value <> Cells(8, ColonneTCDyn - 1).Value + 1
    est vrai car 1 <> 12+1 et donc tu as une erreur de logique car tu passes toujours dans le IF.

    Je pense donc que ton test est mal construit.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 96
    Par défaut
    effectivement il était mal construit...j'ai fait de la façon suivante finalement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Cells(8, ColonneTCDyn - 1).Value = 12 Then
                'vérification que Décembre soit bien suivi par Janvier
                If Cells(8, ColonneTCDyn).Value <> 1 Then
                    GoTo gestion_décalage
                End If
        Else
            'sinon vérification que les valeurs numériques des mois s'incrémentent bien
            If (Cells(8, ColonneTCDyn).Value <> Cells(8, ColonneTCDyn - 1).Value + 1) Then
    gestion_décalage:
    merci à vous

Discussions similaires

  1. [Syntaxe] conditions sur les JOIN
    Par Aka Guymelef dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 03/04/2008, 17h56
  2. [phpBB][2] Syntaxe condition
    Par wanagro dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 20/12/2007, 11h13
  3. Syntaxe condition if: AND, OR, elseif
    Par gregounnet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2007, 16h04
  4. syntaxe condition pour lancer script
    Par mussara dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/04/2007, 15h01
  5. Syntaxe condition VraiFaux dans requête
    Par SuperBlaireau dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 16/06/2006, 16h39

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