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 :

erreur dans UserForm / textbox [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut erreur dans UserForm / textbox
    Bonjour,

    Avant d'expliquer mon problème je vous explique comme utiliser le fichier.

    Colonne A : code barre (GENCODE)
    Colonne B : références
    Colonne C : quantité

    Un "CommandButton" Inventaire


    Premièrement, ce qu'il se passe :

    1/ je clique sur inventaire
    2/ je saisi un GENCODE (100005 pour l'exemple) dans la Textbox
    3/ je clique sur modifier
    4/ je vois la valeur "12" apparaître dans la Texbox "Quantité" (pas normal vu que la quantité en rapport avec le GENCODE "10005" est 121
    5/ je modifie la quantité "12" par "7" par exemple
    6/ je clique sur valider
    7/ je vois bien "7" dans la colonne C

    En résumé le code lit la colonne B et modifie C alors qu'il devrait lire C et modifier C

    Deuxièmement

    1/ je clique sur inventaire
    2/ je NE saisi PAS de GENCODE et/ou QUANTITE
    3/ je clique sur valider
    7/ j'ai une erreur

    Comment faire en sorte que je retourne dans la boucle à la place d'avoir cette erreur ?

    Ce code est un code que j'ai trouvé sur un forum et que j'ai modifié.

    Merci à tous pour votre aide.

    Cordialement

    Sébastien

    EXCEL-PRATIQUE : OK
    stock.xls

  2. #2
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Citation Envoyé par seblap47 Voir le message
    En résumé le code lit la colonne B et modifie C alors qu'il devrait lire C et modifier C
    Bonjour,
    Tu avais un boucle qui ne servait à rien je l'ai remplacer par un nouveau code
    voir commentaire ici
    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
    Private Sub TextBox1_AfterUpdate()
    Dim pl As Range 'déclare la variable pl (PLage)
    Dim x As Byte 'déclare la variable x (incrément)
     
    If Me.TextBox1.Value = "" Then Exit Sub 'sort de la procédure si la TextBox1 est vide
     
     
    'définit la plage pl (cellules éditées de la colonne A)
    Set pl = Range(Cells(2, 1), Cells(Application.Rows.Count, 1).End(xlUp))
    On Error Resume Next 'gestion des erreurs, en cas d'erreur passe à la ligne suivante
    li = pl.Find(Me.TextBox1.Value, , xlValues, xlWhole).Row 'définit la ligne li (si aucune occurrence trouvée, génère une erreur)
    If Err > 0 Then 'condition : si une erreur a été générée
        If ajout = True Then 'condition : si la variable ajout est "Vrai"
            Exit Sub 'sort de la procédure
        End If
        'sélectionne le texte de la TextBox1
        Me.TextBox1.SelStart = 0 'début de la sélection
        Me.TextBox1.SelLength = Len(Me.TextBox1.Value) 'longueur de la selection
        MsgBox "Gencode invalide"
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
    '======================
    'ici
    TextBox2.Text = Cells(li, 3)
    '======================
    Me.TextBox2.SetFocus 'place le curseur dans la TextBox2 (Quantité)
    Me.TextBox2.SelStart = 0 'début de la sélection
    Me.TextBox2.SelLength = Len(Me.TextBox2.Value) 'longueur de la sélection
    End Sub
    Citation Envoyé par seblap47 Voir le message
    Deuxièmement
    1/ je clique sur inventaire
    2/ je NE saisi PAS de GENCODE et/ou QUANTITE
    3/ je clique sur valider
    7/ j'ai une erreur
    Comment faire en sorte que je retourne dans la boucle à la place d'avoir cette erreur ?
    il suffit de géré l'erreur voir commentaire ici
    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
    Private Sub CommandButton1_Click() 'bouton "Valider"
    Dim x As Byte 'déclare la variable x
     
    If modif = True Or ajout = True Then
        For x = 1 To 2 'boucle sur les 2 textboxes
     
            Me.Controls("TextBox" & x).Value = Cells(li, x).Value
        Next 'prochaine Textbox de la boucle
    Else
       '=========================================================
       'ici
       On Error Resume Next
        Cells(li, 3).Value = CInt(Me.TextBox2.Value) 'répercute la quantité dans la cellule
        If Err.Number Then
            On Error GoTo 0
            Exit Sub
        End If
        On Error GoTo 0
       '========================================================
     
    End If
    Unload Me 'vide et ferme l'UserForm1
    UserForm1.Show 'affiche l'Userform1
    End Sub

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut Merci ça marche !
    Un seul mot : MERCI

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 15/09/2014, 10h46
  2. [AC-2007] valide si et message si erreur dans un textbox
    Par Rémi GAUDINAT dans le forum IHM
    Réponses: 2
    Dernier message: 17/06/2010, 09h24
  3. Erreur dans Userform
    Par drakkar_agfa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/10/2008, 15h39
  4. Réponses: 29
    Dernier message: 04/03/2007, 09h39
  5. Message erreur dans textbox
    Par Yanmeunier dans le forum IHM
    Réponses: 7
    Dernier message: 29/06/2006, 14h02

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