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 sur un IF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Ingénieur réponsable Sage X3
    Inscrit en
    Avril 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur réponsable Sage X3

    Informations forums :
    Inscription : Avril 2008
    Messages : 338
    Par défaut Problème sur un IF
    Bonsoir,

    J'ai créé une petite macro afin d'effectuer une saisie sur une feuille excel afin de suivre une évolution.

    J'ai une colonne présentant des kilométrages incrémentés entre eux de 7500 entre chaque valeur (colonne 1).

    Ma deuxième colonne définie des opérations effectuée (vidange... du texte et rien d'autre)

    Ma dernière colonne présente une suggestion sur ce qu'il faudra faire pour la prochaine valeur.

    Mon soucis et que sur un test d'inégalité (infériorité), mes valeurs sont bonnes mais le programme ne rentre pas pour lancer mon msgbox (alerte)et il passe au else comme si la condition n'était pas vérifiée (le débogeur me montre que la condition est respectée).

    Je vous joint mon code, si vous avez une idée de la chose, je vous en serais reconnaissant. (PS je suis un vrai débutant en VB)

    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
    17
    Private Sub CommandButton1_Click()
    Dim alerte As Action
    Dim i As Integer
    Feuil1.Cells(2, 2).Select
            i = Selection.End(xlDown).Row
            Feuil1.Cells(i, 2).Select
     
            If userform1.TextBox3.Value < Feuil1.Cells(i + 1, 1) Then
               alerte = MsgBox("Kilométrages trop faible")
            Else
                test = MsgBox("test")
                Feuil1.Cells(i + 1, 1) = userform1.TextBox3.Value
                Feuil1.Cells(i + 1, 2) = userform1.ComboBox1.SelText
            End If
     
    Call UserForm_Initialize
    End Sub

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut BF0509 et le forum
    Mon soucis et que sur un test d'inégalité (infériorité), mes valeurs sont bonnes mais le programme ne rentre pas pour lancer mon msgbox (alerte)et il passe au else comme si la condition n'était pas vérifiée (le débogeur me montre que la condition est respectée).
    Si il passe au Else, c'est que la condition n'est pas respectée!

    Fais une partie de code qui inscrive les deux valeurs dans des cellules (G1 et G2, par exemple), juste avant de tester et fait un test.

    Avec tes affirmations je n'ai pas envie de me décarcasser plus, mais tu compare du texte à un nombre et ton erreur vient peut-être de là.
    A+

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur réponsable Sage X3
    Inscrit en
    Avril 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur réponsable Sage X3

    Informations forums :
    Inscription : Avril 2008
    Messages : 338
    Par défaut
    Merci Gorfael, je vais essayer.

    J'affirmais que le test fonctionnait car lors d'un débuggage, j'avais bien comme information que ma partie gauche de l'inégalité valait 300000 par exemple et que ma partie droite valait 350000.

    Ce qui me pose problème vient du fait qu'avec une boucle for faite précédemment, ce test ne posait pas problème.

    Il a commencé à ne pas le réalisé qu'avec le passage aux IF.

    Enfin, je vais tester ce soir si mes valeurs sont bonnes comme vous le suggérez.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur réponsable Sage X3
    Inscrit en
    Avril 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur réponsable Sage X3

    Informations forums :
    Inscription : Avril 2008
    Messages : 338
    Par défaut
    En effet, la comparaison ne marchait pas tant que le format des deux parties n'etaient pas identique.

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

Discussions similaires

  1. Problème sur la recherche fulltext en v4 !
    Par poppa dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/05/2004, 23h06
  2. Problème sur fiche MDIchild
    Par nivet dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/01/2004, 08h07
  3. Problème sur GetPrivateProfileString ???
    Par Bordelique dans le forum Langage
    Réponses: 7
    Dernier message: 25/06/2003, 22h15
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17

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