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 une macro


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
    Analyste d'exploitation
    Inscrit en
    Janvier 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Janvier 2013
    Messages : 88
    Par défaut Problème dans une macro
    Bonjour,

    j'ai un souci dans une macro, je pense que c'est assez simple.

    j'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If .Range("I6").Offset(I, -8) > 0 Then
    sur la cellule I6.offset(i,-8) j ai des nombres >0
    toutefois j ai par moment des mots tels que hs ou non identifié .

    des que la macro ne voit pas un chiffre, elle bugge.

    sauriez vous comment remédier à cela?
    et egalement si la cellule ne contient pas un chiffre > 0 alors ne rien faire.

    merci pour votre aide,

    bien cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Peut être avec une double condition de ce type la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If TypeName(.Range("I6").Offset(i, -8).Value) <> "String" Then
        'Cas où la cellule n'est pas de type "String"
        If .Range("I6").Offset(i, -8).Value > 0 Then
            'Cas où la valeur est positive
        Else
            'Cas où la valeur n'est pas positive
        End If
    End If

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Perso je prefere tester si c'est numeric que de tester si c'est different d'un string ( car dans l'absolu ca pourrait etre autre chose une date par ex...)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If isnumeric(.Range("I6").Offset(I, -8)) and (.Range("I6").Offset(I, -8) > 0) Then
    voila

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Janvier 2013
    Messages : 88
    Par défaut
    super merci pour vos réponses.

    pour ce qui n est pas numérique, existe t il une fonction ( isnotnumeric?)

  5. #5
    Invité
    Invité(e)
    Par défaut
    Il suffit de rajouter le mot clé "Not":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsNumeric(.Range("I6").Offset(I, -8)) Then

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par bentor22 Voir le message
    super merci pour vos réponses.
    pour ce qui n est pas numérique, existe t il une fonction ( isnotnumeric?)
    IsNumeric(Range("E1")) renvoie TRUE ou FALSE
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. [XL-2007] Problème dans une macro en VBA
    Par spartel dans le forum Excel
    Réponses: 2
    Dernier message: 06/07/2015, 11h17
  2. [XL-2007] Problème dans une macro pour ajouter une date
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2015, 20h28
  3. [XL-2007] Problème dans une macro de saisie semi-automatique
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/05/2015, 19h00
  4. Problème dans une macro
    Par tiyolx dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 11/08/2008, 14h40
  5. problème de condition dans une macro
    Par Skizo dans le forum Access
    Réponses: 3
    Dernier message: 15/05/2006, 11h22

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