VBA Renvoie valeur meme ligne text box

Bens7

XLDnaute Impliqué
Bonjour a tous j'ai un petit soucci que j'essaye de resoudre seul sans succes !

J'ai un tableau 40 collone (Nom, telephone, mail ect....) x 500 lignes
Numero de facture dans la collone R ....
Un petit Userform 4 Text Box :
Text Box 1 = Recherche le numero de facture dans R
Text Box 2= Meme ligne que la facture trouver collone 13
Text Box 3= Meme ligne que la facture trouver collone 26
Text Box 4= Meme ligne que la facture trouver collone 31

Voila ce que j'ai fait mais ca marche pas :
Code:
Private Sub CommandButton1_Click()
Dim i As Integer, numlign As Integer
numlign = Sheets("ACTIF").Range("R65536").End(xlUp).Row
With Sheets("ACTIF")

For i = 1 To numlign
If TextBox1 = .Cells(i, 18).Value Then

TextBox2 = .Cells(i, 13).Value
TextBox3 = .Cells(i, 26).Value
TextBox4 = .Cells(i, 31).Value

Exit For
End If
End Sub
Merci d'avance!
 

Paf

XLDnaute Barbatruc
Re : VBA Renvoie valeur meme ligne text box

Bonjour,

à part le Next de fin de boucle et le End With qui manquent ( ce qui doit provoquer un message d'erreur !) le code semble correct

Y a t il une message d'erreur ?

A+
 

Bens7

XLDnaute Impliqué
Re : VBA Renvoie valeur meme ligne text box

Code:
Private Sub CommandButton1_Click()
Dim i As Integer, numlign As Integer
numlign = Sheets("ACTIF").Range("R65536").End(xlUp).Row
With Sheets("ACTIF")

For i = 1 To numlign
If TextBox1 = .Cells(i, 18).Value Then

TextBox2 = .Cells(i, 13).Value
TextBox3 = .Cells(i, 26).Value
TextBox4 = .Cells(i, 31).Value

Exit For

End If
Next

End With
End Sub
la plus de message d'erreur mais rien ne se passe j'ai peut etre fait une erreur...
 

Paf

XLDnaute Barbatruc
Re : VBA Renvoie valeur meme ligne text box

re, si le code est correct, c'est qu'il n'y a pas concordance entre la valeur saisie en TextBox1 et le contenu de la colonne R, et le test If TextBox1 = .Cells(i, 18).Value Then n'est jamais vrai.

Est ce la bonne feuille, la bonne orthographe ...

A voir pourquoi, et/ou déposer ici un extrait non confidentiel du classeur en précisant la valeur saisie en cause.

A+
 
Dernière édition:

Bens7

XLDnaute Impliqué
Re : VBA Renvoie valeur meme ligne text box

Desole j'arrive pas .... voila le fichier en pieces jointes
Ha aussi si dans R=Introuvable Msg box Introuvable

Merci!
 

Pièces jointes

  • Classeur1.xlsm
    26 KB · Affichages: 46
  • Classeur1.xlsm
    26 KB · Affichages: 42
  • Classeur1.xlsm
    26 KB · Affichages: 44

laetitia90

XLDnaute Barbatruc
Re : VBA Renvoie valeur meme ligne text box

bonjour Bens7 ,Paf

a la place textbox1 tu mets une combobox plus simple

le code

Code:
Private Sub userform_initialize()
 ComboBox1.List = Feuil1.Range("m2:ae" & Feuil1.Cells(Rows.Count, 13).End(3).Row).Value
End Sub
Private Sub ComboBox1_Click()
 With ComboBox1
 TextBox2 = .List(.ListIndex, 0)
 TextBox3 = Format(.List(.ListIndex, 13), "0#,##")
 TextBox4 = .List(.ListIndex, 18)
 End With
End Sub

par contre connais pas le format de fax a chercher mis quand meme un basique seulement pour voir la demarche
 

Pièces jointes

  • Classeur1 ().xlsm
    27.6 KB · Affichages: 42

laetitia90

XLDnaute Barbatruc
Re : VBA Renvoie valeur meme ligne text box

re
bien sur on peut quand meme le faire!!!! on va utiliser FIND ...suppose pas de doublons dans ta colonne r

Code:
Private Sub CommandButton1_Click()
 With Sheets("ACTIF")
 Set i = .[r:r].Find(What:=TextBox1, LookIn:=xlValues, LookAt:=xlWhole)
 If Not i Is Nothing Then
 TextBox2 = .Cells(i.Row, 13): TextBox3 = .Cells(i.Row, 26): TextBox4 = .Cells(i.Row, 31)
 Else
 MsgBox " pas trouve"
 End If
 End With
 Set i = Nothing
End Sub
 

Si...

XLDnaute Barbatruc
Re : VBA Renvoie valeur meme ligne text box

salut

autre code (Lætitia : puisque fait avec format :D)
Code:
Private Sub CommandButton1_Click()
   Dim C As Range
   For n = 2 To 4: Me("Textbox" & n) = "": Next 'si autre saisie
   Set C = [R:R].Find(TextBox1, , , 1)
   If C Is Nothing Then
     Set C = Nothing
     MsgBox "pas de trace !", vbCritical, "Attention..."
   Else
     TextBox2 = C(1, -4)
     TextBox3 = Format(C(1, 9), "0##-000"" ""00"" ""00")
     TextBox4 = C(1, 14)
   End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 916
Messages
2 093 578
Membres
105 758
dernier inscrit
RIFAHI MOHAMED