Recherche VBA
Linkmojo
Messages postés
175
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je cherche à trouver une macro dans un range déterminé qui puisse chercher une valeur et me dire si elle la trouve. Puis, si la valeur est trouvée, sélectionner la case et descendre de ligne en ligne jusqu'à trouver une cellule vide.
J'ai pensé à :
Pour la recherche. Selection faisant parti d'un loop balayant toutes les cellules initiales et joueur_equipe étant la valeur à rechercher.
Set Selection = Range("E3:Q3").Find(joueur_equipe, LookAt:=xlWhole)
Ensuite pour cequi est de descendre pour trouver une cellule vide pas de souci. mais c'est la partie recherche de valeur qui me pose problème.
Merci d'avance.
Je cherche à trouver une macro dans un range déterminé qui puisse chercher une valeur et me dire si elle la trouve. Puis, si la valeur est trouvée, sélectionner la case et descendre de ligne en ligne jusqu'à trouver une cellule vide.
J'ai pensé à :
Pour la recherche. Selection faisant parti d'un loop balayant toutes les cellules initiales et joueur_equipe étant la valeur à rechercher.
Set Selection = Range("E3:Q3").Find(joueur_equipe, LookAt:=xlWhole)
Ensuite pour cequi est de descendre pour trouver une cellule vide pas de souci. mais c'est la partie recherche de valeur qui me pose problème.
Merci d'avance.
2 réponses
Sans certitudes mais tu peux essayer ce code :
Sub recherche()
Dim col As Integer
For col = 5 To 17
If InStr(1, Cells(3, col), "joueur_equipe") Then
Cells(3, col).Select
End If
Next col
End Sub
Sub recherche()
Dim col As Integer
For col = 5 To 17
If InStr(1, Cells(3, col), "joueur_equipe") Then
Cells(3, col).Select
End If
Next col
End Sub
Salut,
2 cas :
1- tu es sur de trouver joueur_equipe dans la feuille active :
2- tu n'es pas sur que joueur_equipe soit dans la feuille :
2 cas :
1- tu es sur de trouver joueur_equipe dans la feuille active :
Dim Col As Integer, Lig As Long Col = Cells.Find(joueur_equipe).Column Lig = Columns(Col).Find("*", , , , xlByColumns, xlPrevious).Row + 1 Cells(Lig, Col).Select
2- tu n'es pas sur que joueur_equipe soit dans la feuille :
Dim MonRange As Range Set MonRange = Cells.Find(joueur_equipe) If Not MonRange Is Nothing Then MonRange.End(xlDown).Offset(1, 0).Select Else MsgBox "Pas trouvé" End If