Exécution d'une macro sous condition valeur TextBox

  • Initiateur de la discussion Initiateur de la discussion Mo_31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
581
Réponses
9
Affichages
873
Retour