chercher des donnees dans un autre classeur

titoupoulpe

XLDnaute Nouveau
bonjour

je cherche à recuperer des donnees dans un "fichier client" à partir de la valeur situé dans une combobox d'un userform lancé depuis un autre classeur .

voici le code que j'ai tapé mais j'ai erreur variable objet ou variable de bloc with non definie

'pour remplir automatiquement adresse cp ville
Private Sub ComboBox1_Change()
Dim Nom As Range


With Application.Workbooks("fichierclient.xlsx").Worksheets("feuil1")
Set Nom = .Columns(10).Find(UserForm3.ComboBox1, LookIn:=xlValues, LookAt:=xlWhole)

UserForm3.TextBox2 = Feuil1.Cells(Nom.Row, 5) 'adresse
UserForm3.TextBox3 = Feuil1.Cells(Nom.Row, 6) 'cp
UserForm3.TextBox4 = Feuil1.Cells(Nom.Row, 7) 'ville
End With
End Sub

je vous remercie par avance pour l'aide.
 

Papou-net

XLDnaute Barbatruc
Re : chercher des donnees dans un autre classeur

Bonsoir titoupoulpe,

Tu ne précises pas sur quelle ligne se produit l'erreur.

Alors, une proposition (pas pu tester):

Code:
With Application.Workbooks("fichierclient.xlsx").Feuil1
Set Nom = .Columns(10).Find(UserForm3.ComboBox1, LookIn:=xlValues, LookAt:=xlWhole)

UserForm3.TextBox2 = .Cells(Nom.Row, 5) 'adresse
UserForm3.TextBox3 = .Cells(Nom.Row, 6) 'cp
UserForm3.TextBox4 = .Cells(Nom.Row, 7) 'ville
End With
End Sub
A +

Cordialement.
 

titoupoulpe

XLDnaute Nouveau
Re : chercher des donnees dans un autre classeur

bonsoir papou-net
merci de ton aide et desole de ne pas avoir precisé la ligne
j'ai essayé ton code et j'ai une autre erreur : prepriete ou methode non geré par cet objet sur la ligne :
With Application.Workbooks("fichierclient.xlsx").Feuil1

cordialement
 

Papou-net

XLDnaute Barbatruc
Re : chercher des donnees dans un autre classeur

RE:

C'est bien l'idée que je me faisais du problème.

J'ai donc testé la modif suivante et ça fonctionne: les coordonnées afférentes au nom choisi s'affichent correctement.

Code:
'pour remplir automatiquement adresse cp ville
Private Sub ComboBox1_Change()
Dim Nom As Range


With Application.Workbooks("fichierclient.xlsx").Sheets(1)
Set Nom = .Columns(10).Find(UserForm3.ComboBox1, LookIn:=xlValues, LookAt:=xlWhole)

UserForm3.TextBox2 = .Cells(Nom.Row, 5) 'adresse
UserForm3.TextBox3 = .Cells(Nom.Row, 6) 'cp
UserForm3.TextBox4 = .Cells(Nom.Row, 7) 'ville
End With
End Sub
A +

Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : chercher des donnees dans un autre classeur

RE:

Pourtant, je t'assure que chez moi ça marche.

Peut-être un problème de version d'Excel, moi je suis sur la 2010.

Je t'adresse donc une copie du fichier essais pour vérifier sur ton poste. N'oublie pas de remettre le chemin exact du fichier client que j'ai dû modifier pour mon test, dans la procédure UserForm_Initialize.

Cordialement.
 

Pièces jointes

  • essais.xlsm
    26.1 KB · Affichages: 24
  • essais.xlsm
    26.1 KB · Affichages: 26
  • essais.xlsm
    26.1 KB · Affichages: 27

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 069
Membres
103 454
dernier inscrit
Marion devaux