Exécution d'une macro sous condition valeur TextBox

Mo_31

XLDnaute Nouveau
Bonjour à tous,

je recherche depuis pas mal de temps une solution à mon problème et mes errances sur la toile n'ont que trop duré... Trop de code imaginés et testés, j'ai besoin de vos conseil.

Je vais essayer d'être concise et claire :

J'ai un fichier excel qui comporte 2 onglets :
- un onglet base de données fournisseurs
- un onglet base de données clients

Lorsque j'enregistre une commande client via un userform, je voudrais qu'en fonction du type de fournisseurs (Régional ou National) saisi en textbox1, une macro s'exécute et recherche dans la base de données fournisseurs et complète les coordonnées en fonction du nom saisi en textbox2.

J'arrive bien à programmer le code de recherche et remplissage en fonction du nom, mais étant donné que tout mes fournisseurs ne sont pas dans la base de données (s'il sont Internationaux uniquement), cela me bloque la saisie.... D'où ma volonté de n'exécuter la macro que sous la condition de saisie du type fournisseur régional ou national.

Vous trouverez dans le fichier joint un exemple de fichier.

Je suis ouverte à toute proposition de simplification, j'ai tourné le problème dans tous les sens et il me semblait que ce chemin était le plus simple mais il fort possible que je tourne tout simplement en rond.

Je vous remercie par avance pour tous vos conseils.
A vous lire,
Cordialement,

Morgane
 

Pièces jointes

  • ExecuterMacroSousConditionTextbox_FichierDémo.xls
    60.5 KB · Affichages: 50

Papou-net

XLDnaute Barbatruc
Re : Exécution d'une macro sous condition valeur TextBox

Bonsoir Mo_31, et bienvenue,

Je te propose d'essayer le code suivant pour TextBox2 :

Code:
Private Sub TextBox2_Change()
Dim Fourn As Range, Lg As Long

With Feuil1
  Set Fourn = .Columns(2).Find(TextBox2, LookIn:=xlValues, lookat:=xlWhole)
  If Fourn Is Nothing Then
    TextBox3 = ""
    TextBox7 = ""
    Exit Sub
    Else
    Lg = Fourn.Row
    TextBox3 = .Range("C" & Lg)
    TextBox7 = .Range("D" & Lg)
  End If
End With
End Sub
Tant que la saisie n'est pas trouvée dans la base de données, les TextBox3 et TextBox7 restent vides, ce qui te permet de saisir les coordonnées pour un nouveau fournisseur.

Cordialement.
 

Mo_31

XLDnaute Nouveau
Re : Exécution d'une macro sous condition valeur TextBox

Papou-net MERCI et chapeau bas !
Cela fonctionne parfaitement et c'est tellement plus simple que mon usine à gaz initiale !

Je vais bosser un peu sur la problématique qui s'est ajoutée à postériori (grrr!!!) que j'ai noté dans mon fichier démo.
A savoir : si une même entreprise fournisseur (même nom) à plusieurs adresses et donc numéros de téléphone afin de sélectionner les bonnes coordonnées.

Si je trouve je reviendrai poster pour que ça serve aux forumeur et peut-être recevoir votre avis et vos idées de simplification.

Bonne soirée et encore merci Papou-net !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 072
Membres
104 018
dernier inscrit
Mzghal