Probleme de code pour Rechercher

  • Initiateur de la discussion TONIO
  • Date de début
T

TONIO

Guest
Bonsoir le Forum

Je viens encore une fois solliciter votre aide sur une petite application
Grâce à votre aide j’ai déjà bricolé un petit code qui fonctionne très bien pour du texte mais pas sur les nombres.

Dans un USF avec une Listbox et un Textbox, je recherche des références de pièces avec sur une combobox le choix de la désignation.
Or avec les références contenant du texte ou des symboles le code fonctionne très bien mais des que je change pour faire la recherche sur le code article (valeur en nombre), le code ne fonctionne plus.
Voici un bout de code :

Private Sub ListBox1_Click()
Dim plage As Range
Dim Cell As Range
Dim Ligne As Long

If ComboBox1.Value = 'Code D' Then
Ligne = Worksheets('Fichier').Range('' & 'A' & '65536').End(xlUp).Row
Set plage = Worksheets('Fichier').Range('' & 'A' & '2:' & 'A' & Ligne)

For Each Cell In plage
If Cell.Value = ListBox1.Value Then
TextBox2 = Cell.Offset(0, 4).Value
TextBox3 = Cell.Offset(0, 5).Value
TextBox4 = Cell.Offset(0, 6).Value
TextBox5 = Cell.Offset(0, 7).Value
Label9.Caption = 'Reference en courts' & ' - ' & ListBox1.Value

End If
Next Cell
End If
End Sub

Quelqu’un pourrais t’il m’aider

Merci pour votre attention !!

A+ TONIO…………
 

MichelXld

XLDnaute Barbatruc
bonjour Tonio

tu peux tester ta procedure en utilisant

If Cell.Value = CDec(ListBox1.Value) Then



cela n'a rien à voir avc ton probleme mais il vaut mieux remplacer

Ligne = Worksheets('Fichier').Range('' & 'A' & '65536').End(xlUp).Row
Set plage = Worksheets('Fichier').Range('' & 'A' & '2:' & 'A' & Ligne)


par

Ligne = Worksheets('Fichier').Range('A65536').End(xlUp).Row
Set plage = Worksheets('Fichier').Range('A2:A' & Ligne)




bonne journée
MichelXld
 
T

Tonio

Guest
Bonsoir le forum
Re Bonsoir MichelXLD

Je vient d'essayer ton et il fonctionne très bien pour les valeurs de nombre, mais des que les références deviennent mixte, c'est a dire chiffre et lettres il m'affiche:

ERREUR 13
Incompatibilité type

Il n'y a pas un moyen de pouvoir gérer les deux. (Chiffres et lettres)

Merci d'avance pour ta patience.

A+ Tonio....
 

MichelXld

XLDnaute Barbatruc
bonjour Tonio


tu peux tester


Private Sub ListBox1_Click()
Dim plage As Range
Dim Cell As Range
Dim Ligne As Long
Dim Valeur As Variant

Valeur = ListBox1

If ComboBox1.Value = 'Code D' Then
Ligne = Worksheets('Fichier').Range('A65536').End(xlUp).Row
Set plage = Worksheets('Fichier').Range('A2:A' & Ligne)

For Each Cell In plage
If Cell = Valeur Then
TextBox2 = Cell.Offset(0, 4).Value
TextBox3 = Cell.Offset(0, 5).Value
TextBox4 = Cell.Offset(0, 6).Value
TextBox5 = Cell.Offset(0, 7).Value
Label9.Caption = 'Reference en courts' & ' - ' & ListBox1.Value

End If
Next Cell
End If
End Sub




bonne journée
MichelXld

Message édité par: MichelXld, à: 08/04/2005 06:07
 
T

Tonio

Guest
Bonjour le Forum
Bonjour MichelXLD

Je viens juste de trouver la solution, en effet il fallait juste remplacer
'CDec' par 'CStr' et cela fonctionne a merveille.

Comme quoi la nuit porte conseille!
Je vais quand même essayer ta nouvelle proposition, vau mieux en avoir deux que une seul.

Je te remercie vivement pour tes conseilles et de m’avoir aiguiller sur
Se type de conversion de données que je ne connaisai pas.
Débutent obligent, mais soif d'apprendre énorme!

Encore une fois merci.

PS. Je vois que tu es aussi matinal que moi!

A+ sur un nouveau fil TONIO............
 

Statistiques des forums

Discussions
313 043
Messages
2 094 717
Membres
106 075
dernier inscrit
ronagaya