VBA recherche valeur sur ligne
anthony
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
A travers un userform et textbox2 je fais uen recherche de la valeur se trouvant sur la ligne 1 et sur chaque feuille
La valeur cherchée ne peut jamais être dans la zone A1:P1
est ce que la recherche sur toute la ligne va faire perdre du temps par rapport à la recherche à partir de Q1 jusqu'à la dernière colonne non vide ?
j'ai fait le code pour toute la ligne mais je ne sais pas le faire pour lui dire regarde seulement dans chaque feuille de Q1 à la dernière colonne non vide
lot = TextBox2
For Each shFo In Worksheets
Set a = shFo.Rows(1).Find(lot, LookAt:=xlWhole)
If Not a Is Nothing Then
Worksheets(shFo.Name).Activate
UserForm1.Hide
Application.ScreenUpdating = True
Exit Sub
End If
Next
MsgBox "ce lot n'est pas référencé"
Application.ScreenUpdating = True
ensuite que faudrait il rajouter pour que le code active la colonne de la valeur cherchée ? (ainsi l'utilsateur a directement la colonne qui l'intéresse sous les yeux sans à parcourir la feuille)
merci pour votre aidé
A travers un userform et textbox2 je fais uen recherche de la valeur se trouvant sur la ligne 1 et sur chaque feuille
La valeur cherchée ne peut jamais être dans la zone A1:P1
est ce que la recherche sur toute la ligne va faire perdre du temps par rapport à la recherche à partir de Q1 jusqu'à la dernière colonne non vide ?
j'ai fait le code pour toute la ligne mais je ne sais pas le faire pour lui dire regarde seulement dans chaque feuille de Q1 à la dernière colonne non vide
lot = TextBox2
For Each shFo In Worksheets
Set a = shFo.Rows(1).Find(lot, LookAt:=xlWhole)
If Not a Is Nothing Then
Worksheets(shFo.Name).Activate
UserForm1.Hide
Application.ScreenUpdating = True
Exit Sub
End If
Next
MsgBox "ce lot n'est pas référencé"
Application.ScreenUpdating = True
ensuite que faudrait il rajouter pour que le code active la colonne de la valeur cherchée ? (ainsi l'utilsateur a directement la colonne qui l'intéresse sous les yeux sans à parcourir la feuille)
merci pour votre aidé
A voir également:
- VBA recherche valeur sur ligne
- Partager photos en ligne - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Recherche image - Guide
3 réponses
Bonsoir,
Qu'il cherche jusqu'à "Q" pour rien, n'est pas trop grave. Ce sont les centaines de cellules qui suivent qui peuvent poser problème.
Cela fait quelques années que je n'ai plus Excel et ne pourrait vérifier. Pour sortir de la boucle en cas de cellule vide c'est soit :
if cellule = "" ou
if selection = ""
Et ça donne un truc de ce genre là (à essayer) :
lot = TextBox2
For Each shFo In Worksheets
Set a = shFo.Rows(1).Find(lot, LookAt:=xlWhole)
If Not a Is Nothing Then
Worksheets(shFo.Name).Activate
UserForm1.Hide
Application.ScreenUpdating = True
Exit Sub
End If
if cellule = "" then
go to 2
Next
2
MsgBox "ce lot n'est pas référencé"
Application.ScreenUpdating = True
Qu'il cherche jusqu'à "Q" pour rien, n'est pas trop grave. Ce sont les centaines de cellules qui suivent qui peuvent poser problème.
Cela fait quelques années que je n'ai plus Excel et ne pourrait vérifier. Pour sortir de la boucle en cas de cellule vide c'est soit :
if cellule = "" ou
if selection = ""
Et ça donne un truc de ce genre là (à essayer) :
lot = TextBox2
For Each shFo In Worksheets
Set a = shFo.Rows(1).Find(lot, LookAt:=xlWhole)
If Not a Is Nothing Then
Worksheets(shFo.Name).Activate
UserForm1.Hide
Application.ScreenUpdating = True
Exit Sub
End If
if cellule = "" then
go to 2
Next
2
MsgBox "ce lot n'est pas référencé"
Application.ScreenUpdating = True