Renvoyer le numéro de ligne d'une cellule en VBA

goldorak62

XLDnaute Nouveau
Bonjour le forum

Voila, mon problème :
J'ai un tableau excel de 2000 lignes sur 25 colonnes.
Dans une userform, j'ai une textbox (textbox1) ou je tape une référence, correspondant à une cellule dans la colonne B.(la colonne B correspond à une référence par rapport aux lignes de mon tableau)
Je souhaite récuperer dans une variable L, le numéro de la ligne de cette cellule, afin de l'utiliser pour récuperer dans ma userform, toutes les valeurs de la ligne selectionnée.

J'ai essayé avec :
Sub NumeroLigne()
N=textbox1.value
L=Cells.Find(N).Row
End Sub


Ca ne marche pas, car dans ma textbox, je récupére le numéro de la ligne, alors que je veux que cette valeur soit la valeur de recherche.
Merci pour votre aide
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:Renvoyer le numéro de ligne d'une cellule en VB

Bonjour Pascal, Goldorak, le Forum

Sais-tu Pascal qu'au lieu de :

L=Range('B1:B65536').Find(N, lookat:=xlWhole).Row

VBA permet la Syntax :

L = Columns('B').Find(N, lookat:=xlWhole).Row

Qui revient donc au même.

Pour ce qui est de la demande de Goldorak, on peut par contre limiter la recherche sur la plage Range('B1:B2000') puisque selon son énnoncé, son tableau est de 2000 lignes sur 25 colonnes...

Bon Aprèm
[ol]@+Thierry[/ol]
 

goldorak62

XLDnaute Nouveau
Re:Renvoyer le numéro de ligne d'une cellule en VB

Bonjour les amis

Je viens d'essayer, et ca ne marche pas. J'ai une erreur 91.
Merci quand meme

Pour info, j'ai essayé avec ceci :

Private Sub NumBT_Change()
' RECHERCHE DU N° DE LIGNE CORRESPONDANT AU N° DE BT SAISIE
Dim N As Integer
Dim L As Integer
N = NumBT.Value
For i = 8 To 10000
If Sheets('BDD').Cells(i, 2).Value = N Then
L = i
End If
Next i
End Sub


i demarre à 8 car avant ce sont des lignes de description
Cette formule ci dessus fonctionne, mais quand je saisie un NumBT > à ma derniere valeur (ex 910 alors que mes references s'arrettent à 909 pour l'instant), j'ai une erreur 1004 lors de l'utilisation de la variable L par la suite

Là, je bloque
 

Bebere

XLDnaute Barbatruc
Re:Renvoyer le numéro de ligne d'une cellule en VB

bonjour à tous
essaye ce qui suit

L = Columns('B').Find(N, LookIn:=xlValues, LookAt:=xlPart).row

j'en profite pour dire que j'ai des difficultés pour répondre (hier passé une fois)
à bientôt
 

ChTi160

XLDnaute Barbatruc
Re:Renvoyer le numéro de ligne d'une cellule en VB

goldorak62
bonjour le fil coucou à @+thierry

lorsques tu as cette erreur c'est que tu utilise ta procèdure
Private Sub NumBT_Change()
' RECHERCHE DU N° DE LIGNE CORRESPONDANT AU N° DE BT SAISIE
Dim N As Integer
Dim L As Integer
N = NumBT.Value
For i = 8 To 10000
If Sheets('BDD').Cells(i, 2).Value = N Then
L = i
End If
Next i
End Sub
j'ai fais un fichier ou j'utilise ta méthode
et cela fonctionne même si je tape 300 alors qu'il n'y a que 100 référence ou alors une fois encore je n'ai pas compris et fait le moi savoir lol
bonne journée [file name=Test_Recherche.zip size=14904]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test_Recherche.zip[/file]
 

Pièces jointes

  • Test_Recherche.zip
    14.6 KB · Affichages: 872

ChTi160

XLDnaute Barbatruc
Re:Renvoyer le numéro de ligne d'une cellule en VB

re le boyau rouge Lol c'est ça
voilà ce que j'ai mis comme procèdure du bouton Valider choix pour utiliser la méthode Find proposée par mes Amis.
Arffff je joins un fichier car pas terrible la procèdure
en espérant que leChimilimblick avance lol

[file name=Test_RechercheV2.zip size=15486]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test_RechercheV2.zip[/file]

Message édité par: Chti160, à: 07/02/2006 11:44
 

Pièces jointes

  • Test_RechercheV2.zip
    15.1 KB · Affichages: 791

dph91

XLDnaute Nouveau
Re : Renvoyer le numéro de ligne d'une cellule en VBA

Bonjour,

J'ai un cas à peu près similaire, dont je ne trouve pas l'issue.

Je cherche, lorsque je sélectionne la Listbox, que les données correspondantes s'implémentent dans les TextBox au clic de la listbox.
Au préalable, un combobox, filtre les données en double pour les afficher dans la listbox.

Ensuite, une fois les données modifiées dans la textbox, "le bouton mettre à jour" doit modifier la ligne correspondante, mais seulement, actuellement, les données affichées ne correspondent pas à la bonne ligne.

Je cherche à retrouver la ligne correspondante, pour enregistrer les modifications au bon endroit

Le fichier joint peut vous être plus clair peut-être

D'avance merci de votre aide

Didier

Plus explicite peut-être avec le fichier joint
 

Pièces jointes

  • Travaux Test.xls
    73.5 KB · Affichages: 850
Dernière édition:

Discussions similaires

Réponses
12
Affichages
393

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510