XL 2013 Contrôle saisie msgbox

Pluplume

XLDnaute Nouveau
Bonjour,

J'aurais besoin de votre aide pour modifier une macro :)

A l'ouverture de mon fichier j'ai une messagebox qui s'affiche afin que l'utilisateur renseigne le code produit.

Je voudrais que lorsqu'il valide sa saisie, une macro contrôle que la donnée saisie fait bien partie de la liste des codes produits (feuille 2 test si valeur saisie = valeur en colonne a)
J'ai essayé de faire de la petite bidouille mais sans succès ...

Vous trouverez ci-joint le fichier
 

Pièces jointes

  • controlemessagebox.xlsm
    54.4 KB · Affichages: 9

Ethiryn - Glarilak

XLDnaute Nouveau
Bonjour Pluplume,

Voici une solution :
VB:
Private Sub Workbook_Open()
'Macro s'exécutant à l'ouverture du fichier et demandant saisie code produit
2
    Dim MyValue2 As Variant
    MyValue2 = InputBox("Veuillez saisir le code produit à fabriquer")
    verification = 0
    For i = 9 To Sheets("Feuil2").Cells(Rows.Count, 1).End(xlUp).Row
        If Sheets("Feuil2").Cells(i, 1) = MyValue2 Then
            verification = 0
            Exit For
        Else
            verification = verification + 1
        End If
    Next i
    If verification <> 0 Then
        MsgBox "Référence non référencée"
        GoTo 2
    End If
    'Range("B1").Value = MyValue2
End Sub

Attention c'est la macro toute entière !
Elle boucle sur toutes les valeurs de la colonne A de la Feuil2, si on rencontre la bonne valeur on sort de la boucle, sinon on cherche encore.
Quant on arrive à la fin de la boucle et que l'on n'a pas trouver de valeurs correspondante. Alors on affiche un message le signalent et on redemande la référence.

Information : J'ai laissé la ligne que tu avais du taper pour essayer, mais je les mis en commentaire, elle n'est donc pas utile.;)

J’espère avoir répondu correctement à la question posée.:)

Ethiryn - Glarilak
 

Jacky67

XLDnaute Barbatruc
Bonjour,

J'aurais besoin de votre aide pour modifier une macro :)

A l'ouverture de mon fichier j'ai une messagebox qui s'affiche afin que l'utilisateur renseigne le code produit.

Je voudrais que lorsqu'il valide sa saisie, une macro contrôle que la donnée saisie fait bien partie de la liste des codes produits (feuille 2 test si valeur saisie = valeur en colonne a)
J'ai essayé de faire de la petite bidouille mais sans succès ...

Vous trouverez ci-joint le fichier
Bonjour,
Essaye comme ceci
VB:
Private Sub Workbook_Open()
'Macro s'ex?cutant ? l'ouverture du fichier et demandant saisie code produit
    Dim MyValue2 As Variant
debut:
    MyValue2 = InputBox("Veuillez saisir le code produit ? fabriquer")
    If MyValue2 = "" Then Exit Sub
    If IsError(Application.Match(MyValue2, Range("Tableau34[Colonne1]"), 0)) Then
        MsgBox "Ne fait pas partie des codes produits", vbInformation, "Information"
        GoTo debut
    End If
    MsgBox "Suite de la macro"
End Sub
 
Dernière édition:

Pluplume

XLDnaute Nouveau
Merci à vous :)

Ethiryn - Glarilak une petite question, lorsque la référence n'est pas correcte , l'ouverture du message
"Référence non référencée" ça c'est top !! Par contre je souhaite que l'inputbox prenne fin après deux essais .

J'ai essayé de modifier la boucle mais sans succès :(
 

Pluplume

XLDnaute Nouveau
ah finalement ça y'est j'ai réussi !!
Je poste le code modifié si ça peut servir à quelqu’un :)



VB:
Private Sub Workbook_Open()


'Macro s'exécutant à l'ouverture du fichier et demandant saisie code produit

    Dim MyValue2 As Variant
    MyValue2 = InputBox("Veuillez saisir le code produit à fabriquer")
    verification = 0
    For i = 9 To Sheets("Feuil2").Cells(Rows.Count, 1).End(xlUp).Row
        If Sheets("Feuil2").Cells(i, 1) = MyValue2 Then
            verification = 0
            Range("B1").Value = MyValue2
            Exit For
        Else
            verification = verification + 1
        End If
    Next i
    If verification <> 0 Then
        MsgBox "Référence non référencée"
       
    End If

End Sub
 

Ethiryn - Glarilak

XLDnaute Nouveau
Voici une modification qui devrait fonctionner, je ne l'ait pas tester, remplace la condition si-dessous par celles encore en dessous.

Code:
If verification <> 0 Then
  MsgBox "Référence non référencée"
  GoTo 2
End If
Code:
If verification <> 0 Then
  MsgBox "Référence non référencée"
  Essai =Essai + 1
  If Essai <> 3 Then GoTo 2
End If

Ou le code de PluPlume au-dessus. ;)
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 852
dernier inscrit
dthi16088