Microsoft 365 Récupérer information à partir d'un autre classeur

Daher Ali

XLDnaute Junior
Bonjour le FORUM.

J'ai besoin de votre aide.
Mon classeur comporte 2 feuilles ( Liste Articles et Bon d'entrée )
Le bon d'entrée est remplis grâce à Un userform avec une textbox et Combobox. La saisie dans la textbox me permet de récupérer dynamiquement une Liste Articles dans la Combobox, lorsque le choix d'articles est fait je valide. Jusque là le travail est fait.
Je voudrais que la Feuille "Liste Articles" ne ce trouve pas dans un même classeur avec Feuille "Bon Entree" donc dans un nouveau classeur et que je puisse récupérer la Liste Article toujours dans le même userform du premier classeur et valider mon Bon Entrée.
Merci de m'aider svp :)
 
Solution
oK

J'ai testé, celà fonctionne, mais c'est un peu lourdingue d'envoyer la recherche dès le début de l'input d'un caractères :

1594547362793.png


J'ajouterais une condition :
VB:
    If TxtRecherche <> "" Then
        If Len(Me.TxtRecherche) >= 4 Then
          For Ligne = 2 To NbLigne
             If WS.Cells(Ligne, 2) Like "*" & TxtRecherche & "*" Then
                Me.Cont3.AddItem WS.Cells(Ligne, 2)
             End If
          Next Ligne
        End If
    End If

Pour qu'il ne réponde "que" ceci et pas avant 4 caractères saisis : (inutile "d'affoler" le système !!!)

1594547635316.png


Après pour ActiveSheet, je t'avais dit ce que j'en pensais...

Finalement tu as déjà ouvert manuellement le Workbooks("Articles.xlsx") donc oui...

Daher Ali

XLDnaute Junior
Re Bonjour

Euh, tout marche donc ? Donc ce n'était pas la peine de poster les fichiers si il n'y a pas de question ou de problème ? Ou bien je n'ai pas compris ?

Bon dimanche
@+Thierry
Au fait j'ai expliqué et envoyé les fichiers pour que vous puissiez me dire si ma réflexion est bonne et que je n'aurai pas de problème après comme vous êtes expert dans le domaine. Si ça ne vous dérange pas me dire s'il y aurait une faille.
Merci beaucoup Thierry.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
oK

J'ai testé, celà fonctionne, mais c'est un peu lourdingue d'envoyer la recherche dès le début de l'input d'un caractères :

1594547362793.png


J'ajouterais une condition :
VB:
    If TxtRecherche <> "" Then
        If Len(Me.TxtRecherche) >= 4 Then
          For Ligne = 2 To NbLigne
             If WS.Cells(Ligne, 2) Like "*" & TxtRecherche & "*" Then
                Me.Cont3.AddItem WS.Cells(Ligne, 2)
             End If
          Next Ligne
        End If
    End If

Pour qu'il ne réponde "que" ceci et pas avant 4 caractères saisis : (inutile "d'affoler" le système !!!)

1594547635316.png


Après pour ActiveSheet, je t'avais dit ce que j'en pensais...

Finalement tu as déjà ouvert manuellement le Workbooks("Articles.xlsx") donc oui plus besoin de le fermer par VBA si ce n'est pas lui qui l'ouvre...

Bon travail
@+Thierry
 

Daher Ali

XLDnaute Junior
Pour qu'il ne réponde "que" ceci et pas avant 4 caractères saisis : (inutile "d'affoler" le système !!!)
Très bonne idée oui j'opte pour cela Merciiiii


Finalement tu as déjà ouvert manuellement le Workbooks("Articles.xlsx") donc oui plus besoin de le fermer par VBA si ce n'est pas lui qui l'ouvre...
Au fait j'ai envoyé le fichier sans code d'ouverture juste pour que vous le visualiser. Sinon je préfère qu'il est une condition gérer si le classeur est ouvert je continue le code et si le classeur est fermé de l'ouvrir pour continuer le travail.
 

Discussions similaires

Réponses
19
Affichages
518

Statistiques des forums

Discussions
312 038
Messages
2 084 824
Membres
102 681
dernier inscrit
racsam77