Recherche VBA

Fermé
Linkmojo Messages postés 172 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 21 octobre 2023 - 17 juil. 2014 à 13:51
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 17 juil. 2014 à 16:42
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.

2 réponses

pzyko Messages postés 34 Date d'inscription vendredi 27 juin 2014 Statut Membre Dernière intervention 8 août 2014 1
17 juil. 2014 à 16:01
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
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
17 juil. 2014 à 16:42
Salut,

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
0