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 :

problème dans .Find [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut problème dans .Find
    bjr à tous
    j'ai développé une macro et j'ai rencontré un problème.
    ma macro est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
    Dim npv As Range
    Dim c As Range
    Set npv = Sheets("courbes GI").Range("o18")
    Sheets("RECAP").Activate
    Set c = Sheets("RECAP").Columns(2).Find(What:=npv.Value, LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, _
          SearchOrder:=xlByRows, MatchCase:=False)
    If Not c Is Nothing And npv.Offset(0, 1).Value = c.Offset(0, -1).Value Then
    Sheets("courbes GI").Activate
    MsgBox "Le PV   " & npv & "," & " " & c.Offset(0, -1).Value & "  existe déjà."
    End If
    End Sub
    la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not c Is Nothing And npv.Offset(0, 1).Value = c.Offset(0, -1).Value Then
    se met en jaune quand npv contient une valeur qui n'existe pas dans le tableau, dans le cas contraire c'est bien ( càd le message s'est affiché )
    merci pour votre aides
    merci bien

  2. #2
    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
    Bonjour,

    tu ne peux combiner le test sur C= nothing et un test sur des valeurs qui ne sont alimentées que si C <> Nothing, car dans ce cas, TOUTE la condition est TOUJOURS évaluée et donc craaaaaaaack.

    c'est un erreur de logique.

    Découpe ton test en 2 if imbriqués et tu n'auras plus de problèmes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Not c Is Nothing then
      if npv.Offset(0, 1).Value = c.Offset(0, -1).Value Then

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    merci bcp Godzestla
    ça marche.

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

Discussions similaires

  1. Problème dans la déclaration de Winmain
    Par lvdnono dans le forum DirectX
    Réponses: 3
    Dernier message: 29/05/2004, 13h38
  2. problème dans l'hebergement
    Par Redouane dans le forum ASP
    Réponses: 9
    Dernier message: 31/12/2003, 23h34
  3. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09
  4. Problème dans analisys Manager
    Par ien_ien23 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 11/07/2003, 14h38
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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