Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis débutant)

sayfher

XLDnaute Nouveau
Bonjour,

je me présente ,je suis nouveau dans ce forum et je viens ecrire mon premier message. je viens vers vous car je suis en train de travailler sur un projet . Jusqu'a présent j'ai réussie à me débrouiller grace a internet et aux livres. Mais la je me retrouve bloqué. Je m'explique j'ai une base de donné avec 3 collonne dans la 1 er, ce trouve la désignation (avec le nom des differents outils possible) dans la 2 eme se trouve le code simpac(code barre) et enfin dans la 3 eme l'unité de mesure (on a des metre unité,etc...) .Ce que je cherchce a faire sur mon userform et simple mais dur pour moi, je voudrais que lorsque l'on choisie une désignation a travers une combox1 ,et bien intrinsèquement les texbox2 et textbo3 se replisse directement avec la liason.

Exemple on choisi dans combox1:Tuyaux diametre 20 (ligne 758,colonne A) alors texbox 2:2334509 (ligne 758,colonne B) et textbox3: métre (ligne 758,colonne C)

j'ai essayé ça

Private Sub UserForm_Initialize()

' boucle pour désignation

For i = 2 To 1273
ComboBox1.AddItem Sheets("Base de donné materiel").Cells(i, 1)

Next


End Sub




Private Sub TextBox1_Change()
For i = 2 To 1273
If ComboBox1.Value = Sheets("Base de donné materiel").Cells(i, 1) Then
TextBox1.Value = Sheets("Base de donné materiel").Cells(i, 2)
End If
Next

End Sub


mais sans succès, donc si quelqu'un peut m'aider merci d'avance (encore une fois je suis désoler si je choque par mon manque de niveau( et d'orthographe ^^;) )).
 

tototiti2008

XLDnaute Barbatruc
Re : Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis début

Bonjour sayfher,

Bienvenue sur XLD,

Dans la mesure où les Textbox1 et Textbox2 ne pourront pas être modifiées par l'utilisateur, je te conseillerais de mettre des Label plutôt que des Textbox, mais à toi de voir

Peut-être un truc du genre

Code:
Private Sub ComboBox1_Change()
if Application.countif(Sheets("Base de donné materiel").range("A1:A65536"),ComboBox1.Value)>0 then

TextBox1.Value = application.vlookup(ComboBox1.Value, Sheets("Base de donné materiel").range("A1:B65536"), 2 , false)
End If
Next

Edit : Bonjour mécano :)
 

sayfher

XLDnaute Nouveau
Re : Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis début

Re bonjour,

Déja je tiens a vous remercier d'avoir répondu a mon message.

Ensuite ,je suis en train de regarder le site que vous m'avez donné mécano et tototiti je vais paraitre chiant et béte,mais je ne comprend pas certaines partie de ton programme ou requete.
-countif
-A65536
-vlookup
-Next (mais n'y a pas le début de la boucle ?)

Si tu pouvais m'expliquer afin de mieu comprendre.

Merci d'avance je retourne lire le site ^^
 

tototiti2008

XLDnaute Barbatruc
Re : Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis début

Re,


C'est la fonction de feuille de calcul NB.SI qui compte le nombre d'occurences d'une valeur dans une plage
Si je trouve la valeur de la Combobox1 dans la 1ère colonne de la feuille "Base de donné materiel", je fais la suite


C'est la dernière cellule de la colonne A, je compte dans toute la colonne A


C'est la fonction RECHERCHEV de la feuille de calcul, elle permet de trouver la valeur correspondante au contenu de ta combobox dans le tableau de la feuille "Base de donné materiel"


Oui, en effet, erreur de copier/coller, il faut remplacer le "Next" par un "End Sub"
 

sayfher

XLDnaute Nouveau
Re : Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis début

franchement super les explication ,je comprend un peu plus le vba. Aprés lecture du site, je suis désoler mais c'est un peu compliquer pour moi (voir vraiment compliqué), je vous transmet donc le dossier excel en esperant qu'il passe non cripté.

Merci encore.
 

sayfher

XLDnaute Nouveau
Re : Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis début

Je suis désoler ,je reviens vers vous car j'ai essayé de reproduire la requéte pour que l'unité de mesure apparaisse aussi mais ,sa ne fonctionne pas.

Private Sub ComboBox1_Change()

If Application.CountIf(Sheets("Base de donné materiel").Range("A1:A65536"), ComboBox1.Value) > 0 Then

TextBox1.Value = Application.VLookup(ComboBox1.Value, Sheets("Base de donné materiel").Range("A1:B65536"), 2, False)
TextBox22.Value = Application.VLookup(ComboBox1.Value, Sheets("Base de donné materiel").Range("A1:B65536"), 4, False)
End If


End Sub

la colonne "unité de mesureé étant la 4 eme ,et Vlookup étant un recherv j'ai donc mis juste 4 a la place de 2. Mais cela ne marche pas .
 

tototiti2008

XLDnaute Barbatruc
Re : Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis début

Re,

Tu connais la fonction RECHERCHEV ? c'est ce que tu utilises avec vlookup, ici
Tu lui demandes d'aller checher la valeur 4ème colonne de la plage A1:B65536 qui n'a que 2 colonnes ;)
 

sayfher

XLDnaute Nouveau
Re : Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis début

Bonjour, je reviens vers vous car ,il yas un probleme dans la formule enfait ,que je n'arrive pas a traité. Je m'explique quand la personne ecrit dans la combobox sa recherche et que celle ci n'est pas dans la base de donné il risque de détermner un code barre d'un notre matériel commençent par la même lettre ,de plus si celui ci efface ce qu'il viens d'écrire alors l'appliquation bug.( j'aimerais vous envoyer le dossier mais mon entreprise cripte les données ...

Private Sub ComboBox1_Change()

If Application.CountIf(Sheets("Base de donné materiel").Range("A1:A65536"), ComboBox1.Value) > 0 Then

TextBox1.Value = Application.VLookup(ComboBox1.Value, Sheets("Base de donné materiel").Range("A1:B65536"), 2, False)
TextBox22.Value = Application.VLookup(ComboBox1.Value, Sheets("Base de donné materiel").Range("A1:D65536"), 4, False)


End If


End Sub

image bug.jpgapplication.jpg
 

Pièces jointes

  • image bug.jpg
    image bug.jpg
    55.8 KB · Affichages: 172
  • image bug.jpg
    image bug.jpg
    55.8 KB · Affichages: 172

sayfher

XLDnaute Nouveau
Re : Afficher dans texbox2 les données suite a un choix dans combobox1 (je suis début

J'ai trouvé la solution au probléme pour ceux qui la raconte a l'avenir il suffit de glisser un On Error Resume Next juste avant le rechercheV . Exemple :

Private Sub ComboBox12_Change()
If Application.CountIf(Sheets("Base de donné materiel").Range("A1:A65536"), ComboBox12.Value) > 0 Then
On Error Resume Next
TextBox3.Value = Application.VLookup(ComboBox12.Value, Sheets("Base de donné materiel").Range("A1:B65536"), 2, False)
TextBox21.Value = Application.VLookup(ComboBox12.Value, Sheets("Base de donné materiel").Range("A1:D65536"), 4, False)
End If

voila et a+
 

Discussions similaires

Statistiques des forums

Discussions
312 980
Messages
2 094 135
Membres
105 944
dernier inscrit
VLAROUDIE