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 :

[00] erreur sur une condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut [00] erreur sur une condition
    Bonjour,

    Je souhaite savoir si les trois premières lettres du contenu de la dernière cellule de ma ligne courante sont "ind".

    j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        If StrComp(Left(detailcommande.Cells(laff - 6, detailcommande.Cells(laff - 6, Columns.Count).End(xlToRight).Column), 3), "ind", vbTextCompare) = 0 Then
    Ma ligne courante est "laff-6"
    ma feuille s'appelle "detailcommande"

    Mais même si j'ai "ind3" sur la fin de ma ligne courante, ma condition est fausse.
    il y a donc une erreur dans cette ligne, mais je n'arrive pas à la trouver

    Pouvez-vous m'aider ?

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Bonjour,
    J'ai décortiqué le problème et mis en plusieurs lignes de code, à voir si ça te convient...Je n'ai pas réutilisé tes éléments tel que laff -6 et detailcommande, il faudra réadapter.
    J'ai mis unee boucle car j'imagine que c'est ce que tu fais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test_ind()
     
    For i = 1 To 10
     
    Macell = Left(Range("a" & i).End(xlToRight), 3)
        If Macell = "ind" Then
        'ton action
        End If
    Next i
     
    End Sub

  3. #3
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    Bonjour Fvandermeulen,

    j'ai tester ton code, mais j'arrive au même problème, la condition est toujours fausse, même si la dernière cellule de la ligne contient "ind3"

    j'ai légèrement modifié ton code pour pouvoir le tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test_ind()
     
        i = InputBox("i")
     
        Macell = Left(detailcomande.Range("A" & i).End(xlToRight), 3)
        If Macell = "ind" Then
            MsgBox "ok"
        Else
            MsgBox "non"
        End If
     
    End Sub

  4. #4
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    J'ai trouvé le problème, c'est qu'il manquait une comparaison par strcomp dans ton code.

    Ce qui donne, regroupé en une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test_ind()
     
        i = InputBox("i")
     
        If StrComp(Left(detailcommande.Range("A" & i).End(xlToRight), 3), "ind", vbTextCompare) = 0 Then
            MsgBox "ok"
        Else
            MsgBox "non"
        End If
     
    End Sub
    ça marche, Merci

  5. #5
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Re,
    Ce qui est étrange c'est que chez moi, sans le StrComp, ça fonctionnait...

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

Discussions similaires

  1. [E07] erreur sur une boucle avec condition
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 18/03/2009, 14h59
  2. excel erreur sur une condition
    Par zaza45 dans le forum Excel
    Réponses: 7
    Dernier message: 09/04/2008, 12h27
  3. Erreur ADODB.Recordset error '800a0cc1' sur une condition
    Par jeandormesson dans le forum ASP
    Réponses: 1
    Dernier message: 02/04/2008, 11h05
  4. Réponses: 4
    Dernier message: 14/06/2004, 16h18
  5. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00

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