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!
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éé
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
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.
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éé