Obtenir des informations provenant d'un autre classeur fermé pour remplir un Userform

Tilous

XLDnaute Nouveau
Bonjour,

J'ai un problème à obtenir des infos provenant d'un classeur fermé qui contient un mot de passe (foxtrot).

Dans mon userform du fichier test.xls j'ai un textbox nommé Code_prod dans lequel j'inscris un numéro de produit. Je dois suite à l'inscription vérifier dans mon fichier fermé info produits.xls si le code existe. Si oui, j'ai besoin de remplir le textBox produit avec les infos du code_prod situées dans la colonne C (Description) du fichier fermé.

J'ai essayé des choses, mais je n'y arrive pas. Le code doit se retrouver dans Private Sub Code_prod_Change(), je crois...

Merci de bien vouloir m'aider, car je suis comme dirait-on bloquée!

Louise
 

Pièces jointes

  • test.xls
    148.5 KB · Affichages: 52
  • test.xls
    148.5 KB · Affichages: 56
  • test.xls
    148.5 KB · Affichages: 51
  • info produits.xls
    101.5 KB · Affichages: 59

youky(BJ)

XLDnaute Barbatruc
Re : Obtenir des informations provenant d'un autre classeur fermé pour remplir un Use

Bonjour Tilou,
Le plus simple est de copier la BD sur une feuille invisible du fichier Test.
Donc ce que fait ma macro en userform_Initialize
Efface DATAFINI si elle existe
Ouvre le fichier info produits en invisible et copie la BD en fichier Text et masque la feuille
On rempli le combobox avec les codes
voir macro en combobox_change pour remplir le reste
IMPORTANT
Pour utiliser ce fichier il faut avant l'enregistrer dans un dossier contenant le fichier "info produits"
sinon faut modifier le chemin
Bruno

Mis une autre version du fichier le 1er n'effacait pas mon onglet créé
 

Pièces jointes

  • test.xls
    169 KB · Affichages: 70
  • test.xls
    169 KB · Affichages: 70
  • test.xls
    169 KB · Affichages: 68
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Obtenir des informations provenant d'un autre classeur fermé pour remplir un Use

Bonjour,

Code:
Sub essai()
  ' Microsoft ActiveX DataObject doit être coché
  ' Champ nommé MaBD avec lignes vides
  Set cnn = New ADODB.Connection
  nomcherche = "Martin"
  repertoire = ThisWorkbook.Path & "\"
  cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & _
  repertoire & "ADOsource.xls"
  Sql = "SELECT Prenom,salaire FROM MaBD WHERE nom='" & nomcherche & "'"
  Set rs = cnn.Execute(Sql)
  MsgBox rs("prenom")
  MsgBox rs("salaire")
  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing
End Sub

Autre méthode

Code:
repertoire = ThisWorkbook.Path & "/"
nomcherche = "Besnard"
[B1].Formula = "=vlookup(" & Chr(34) & nomcherche & Chr(34) & ",'" & repertoire & "ADOsource.XLS'!MaBD,2,false)"
temp = [B1]
MsgBox temp

JB
 

Tilous

XLDnaute Nouveau
Re : Obtenir des informations provenant d'un autre classeur fermé pour remplir un Use

Bonjour,

Merci d'avoir pris le temps de me répondre.

Je ne suis pas une as du VBA, je vais étudier vos propositions!

Et essayer de les appliquer à mon fichier.

Je vous reviens avec des résultats. si j'y arrive...

Bonne journée et merci encore pour votre précieuse aide.

Louise
 

Tilous

XLDnaute Nouveau
Re : Obtenir des informations provenant d'un autre classeur fermé pour remplir un Use

J'ai réussi avec ta proposition, mais je ne sais pas pourquoi, mon classeur auquel je me réfère ne pouvais plus s'ouvrir... J'ai donc à la place utiliser open en lecture seule en m'assurant que la feuil DATAFINI soit la feuille active et tout va bien.

Merci pour ton aide... j'aimais mieux ta façon, car il y a un peu de lag avec open, contrairement à ta façon.

Louise

Bonjour Tilou,
Le plus simple est de copier la BD sur une feuille invisible du fichier Test.
Donc ce que fait ma macro en userform_Initialize
Efface DATAFINI si elle existe
Ouvre le fichier info produits en invisible et copie la BD en fichier Text et masque la feuille
On rempli le combobox avec les codes
voir macro en combobox_change pour remplir le reste
IMPORTANT
Pour utiliser ce fichier il faut avant l'enregistrer dans un dossier contenant le fichier "info produits"
sinon faut modifier le chemin
Bruno

Mis une autre version du fichier le 1er n'effacait pas mon onglet créé
 

Tilous

XLDnaute Nouveau
Re : Obtenir des informations provenant d'un autre classeur fermé pour remplir un Use

Bonjour BOISGONTIER,

Merci de ton aide, mais pour moi il m'était trop difficile d'adapter ton code pour le faire fonctionner avec mes besoins.

Merci de bien avoir voulu m'aider

Louise
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma