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 macro 'vérification'


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 23
    Par défaut problème macro 'vérification'
    Salut à tous, j'ai un petit probléme avec mon code.
    Ma vérification ne marche pas,il me trouve jamais de référence existance.
    Quelq'un pourrait me dire ou est l'erreur?

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Private Sub ComboBox3_Change()
     
         If ComboBox3 = "" Then Exit Sub
         mot = "00000"
        valeurAdditionee = Mid(TextBox3, 1, InStr(TextBox3, "D") - 1)
        reste = Mid(TextBox3, InStr(TextBox3, "D"))
        valeurAdditionee = Val(valeurAdditionee) + Val(ComboBox3)
        TextBox4 = Left(mot, Len(mot) - Len(valeurAdditionee)) & valeurAdditionee & reste
        'vérification sérial'
      RefDebut = TextBox3.Value
      nbRef = ComboBox3.Value
      Set zoneDesRef = Range("B4:B2000,D4:D2000")
      For Each cellule In zoneDesRef
        For i = 0 To nbRef
            numNouvelleRef = Val(Mid(RefDebut, 1, InStr(TextBox3, "D"))) + i
     
            longNum = Len(numNouvelleRef)
            refATrouver = Left(RefDebut, 1) & Left(mot, Len(mot) - Len(valeurAdditionee)) & valeurAdditionee & reste & numNouvelleRef
            If cellule.Value = refATrouver Then
                trouver = "OUI"
                Exit For
            End If
        Next
        If trouver = "OUI" Then
            Exit For
        End If
    Next
     
    If trouver = "OUI" Then
        MsgBox ("Une référence existante a été trouvée")
        Unload sérial
    End If
    End Sub
    A+

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Slt, rider18
    je suis pas un pro vba mais une chose me trouble en regardant vite fait ton code tu as mis:
    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
      If cellule.Value = refATrouver Then
                trouver = "OUI"
                Exit For
            End If
        Next
        If trouver = "OUI" Then
            Exit For
        End If
    Next
     
    If trouver = "OUI" Then
        MsgBox ("Une référence existante a été trouvée")
        Unload sérial
    End If
    End Sub
    Pourquoi pas Directement dans ta boucle et supprimer le dernier If:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      If cellule.Value = refATrouver Then
                trouver = "OUI"
                MsgBox ("Une référence existante a été trouvée")
                Unload sérial
            'Permet de sortir de la macro     
                Goto fin           
             End If
     
        Next
    Next
    fin:
    End Sub
    Ensuite vérifie Comment sont déclarées tes variables?

    A+

  3. #3
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    Sans aller trop profond dans la compréhension du code , les lignes suivantes devraient être vérifiées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       If ComboBox3 = "" Then Exit Sub
    ......./.....
     nbRef = ComboBox3.Value
         For i = 0 To nbRef
    quelle est la différence entre ComboBox3 et ComboBox3.Value . Vérifies que l'on ne sort pas systèmatiquement avec le exit sub.

    Met un flag pour vérifier la valeur de nbRef

  4. #4
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 23
    Par défaut
    salut, merci de m'aider. j'ai essayer de fais quelque truc mes ça marche pas!
    j'ai pas compris pour le flag?
    J'ai mis un fichier.
    Je débute en vba.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bjr,
    en fait si j'ai bien compris tu veux faire une recherche sur la valeur de La textbox 4 ?
    Pour le moment c normal que le code ne trouve rien du fait qu'il cherche une valeur qui n'existe pas dans la feuille.
    je m'explique:
    Tu fais une recherche sur ce s/n: 00233D24193 alors que pour le code le s/n est égale à 000233D24193231 donc forcément il trouve pas. Tout d'abord dans ton code remplace ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'ici  valeurAdditionee = 2
    valeurAdditionee = Val(valeurAdditionee) + Val(ComboBox3)
    par cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ' ici valeurAdditionee = 233 il me semble que c bon
    valeurAdditionee = Val(vaInStrleurAdditionee) + Val(ComboBox3)
    du coup textbox4 = 00233D24193 comme dans l'exemple.
    Si tu veux savoir si cette référence existe dans ta feuille alors voici le code après modifications:
    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
    18
    19
    20
    21
    22
    23
     
    Private Sub ComboBox3_Change()
     
     If ComboBox3 = "" Then Exit Sub
        mot = "00000"
        vaInStrleurAdditionee = Mid(TextBox3, 1, InStr(TextBox3, "D") - 1)
        reste = Mid(TextBox3, InStr(TextBox3, "D"))
        valeurAdditionee = Val(vaInStrleurAdditionee) + Val(ComboBox3)
        TextBox4 = Left(mot, Len(mot) - Len(valeurAdditionee)) & valeurAdditionee & reste
     
     
      Set zoneDesRef = Range("B4:B2000,D4:D2000")
     
      For Each cellule In zoneDesRef
     
            If cellule.Value = TextBox4.Value Then
                MsgBox ("Une référence existante a été trouvée")
                Exit For
            End If
     
     Next cellule
     
    End Sub
    Essaye et dis moi si c bon chez moi c ok.
    A+

  6. #6
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 23
    Par défaut
    Merci rvtoulon de m'avoir aider ça marche nickel.
    J'aurais une encore une question.
    Je voudrais savoir si on peut figer le "D"? En faite quand je tappe le "D" je veut qu'il soit tourjour en majuscule.Parce que si je met le "d" en minuscule le code bloque.

    A+

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

Discussions similaires

  1. Problème Macro Excel - vérification liste de mails via mailtester.com
    Par beenosse dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/02/2019, 16h51
  2. Problème macro vérification TVA
    Par almac7 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/11/2012, 15h13
  3. problème de vérification formulaire (non bloquante)
    Par Florent08800 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/05/2006, 12h02
  4. [VBA-E] Problème macro excel
    Par pontus21 dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 19/05/2006, 18h38
  5. problème de vérification formulaire
    Par Le Rebel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/03/2006, 13h10

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