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 :

Macro if or else tourne dans le vide


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 75
    Par défaut Macro if or else tourne dans le vide
    Bonjour à tous,

    Je cherche à exécuter cette macro car j'ai une BDD d'environ 4000 lignes et j'ai 100 codes clients à récupérer environ (colonne B).
    Cependant, elle tourne dans le vide :

    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 i As Integer
    Dim var
    i = 2
    var = 0
    Sheets("Résultats").Select
    Do While Range("A" & i) <> ""
            Sheets("Résultats").Select
            var = Range("B" & i).Value
            If var = 2950 OR 3100 Then
                 i = i + 1
            Else
                ActiveCell.EntireRow.Delete
                i = i + 1
            End If
    Loop
    End Sub
    En fait après une exécution step by step, il ne rentre jamais dans le else ..

    Merci de votre aide !

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Par défaut
    essaye IF var = 2950 OR var = 3100

    Je pense que le 3100 tt seul est une condition toujours vraie car il ne la rattache pas a var.

    Bonne journée

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 75
    Par défaut
    bonjour.

    Merci, ça marche!

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Par défaut
    De rien bonne journée

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 75
    Par défaut
    et jai remplacé mon code par celui-ci, car il y avait un PB sur l'incrémentation sinon :
    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
    Sub ClientsNAJ()
    Dim i As Integer
    Dim var
    i = 2
    var = 0
    Sheets("Résultats").Select
    For i = 2 To 4000
            Sheets("Résultats").Select
            var = Range("B" & i).Value
            If var = 2950 Or var = 3100 
                 Rows(i).Interior.Color = RGB(255, 0, 0)
            Else
                Range("B" & i).Value = 0
            End If
            Next i
    End Sub
    Ensuite je mets un filtre différent de 0 en colonne B et ça marche =)

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Par défaut
    Je ne sais pas si le changement de couleur est vraiment necessaire apres cela depend de ton appli

    Mais tu peut faire ceci ci il n'y a rien a faire quand la valeur est egal a 2950 ou 3100

    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
     
    Sub ClientsNAJ()
    Dim i As Integer
    Dim var
    i = 2
    var = 0
    Sheets("Résultats").Select
    For i = 2 To 4000
            Sheets("Résultats").Select
            var = Range("B" & i).Value
            If var <> 2950 Or var <> 3100 
                  Range("B" & i).Clear()
            End If
            Next i
    End Sub
    Normalement ca doit marcher.
    Mais aprés c'est toi qui voit.
    Sinon je ne comprend pas ton ancienne condition est celle ci
    Do While Range("A" & i) <> ""

    et maintenant tu as ca 2 To 4000

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/10/2013, 11h50
  2. [PHP 5.2] ftp_rawlist tourne dans le vide
    Par ninikkhuet dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2009, 09h32
  3. plant de maintenance tourne dans le vide
    Par SILO dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 12/03/2009, 17h02
  4. [nagios] 3-D Status map : tourne dans le vide ?
    Par marveljojo75 dans le forum Réseau
    Réponses: 0
    Dernier message: 07/01/2009, 11h58
  5. [MySQL 5.0.21] Requête tourne dans le vide
    Par dpin33 dans le forum Requêtes
    Réponses: 10
    Dernier message: 06/11/2008, 09h38

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