selectionner une cellule dans une plage en fonction d'une valeur

satwaf

XLDnaute Occasionnel
bonjour a tous
voila le but de l'opération est de trouver la cellule (qui aura une valeur unique) située dans ma plage nommée "repère" et qui correspond a ma cellule A1 nommée "compteur_3". j'ai donc trouvé ce bout de code, seulement le temps d'excecution est trop long, alors y a t-il moyen de le raccourcir., car il passe en revue toutes les cellules contenu dans ma plage "repère".


Sub retrouver_formule2()
'retrouver la ligne sur laquelle doit se faire la copie
Dim valeur As String, cell As Variant
valeur = Range("compteur_3").Value
For Each cell In ActiveSheet.Range("Repère")
If cell.Text = valeur Then cell.Select
Next
End Sub

merci d'avance à tous
 

satwaf

XLDnaute Occasionnel
Re : selectionner une cellule dans une plage en fonction d'une valeur

aurais tu un exemple s'il te plait, car je suis debutant et j'ai un peu de mal , c'est pour ca que je sollicite souvent le forum, ensuite j'adapte la macro .

en tout cas merci victor21 pour cette piste
 

mutzik

XLDnaute Barbatruc
Re : selectionner une cellule dans une plage en fonction d'une valeur

bonjour

tu peux également changer, dans ton code
If cell.Text = valeur Then cell.Select : exit sub

c'est à dire, comme tu as écrit que c'est une valeur unique, on sort de la macro dès qu'on a trouvé la valeur correspondante
 

job75

XLDnaute Barbatruc
Re : selectionner une cellule dans une plage en fonction d'une valeur

Bonjour le fil,

Application.Match est plus rapide que la méthode Find :

Code:
Sub retrouver_formule2()
'retrouver la ligne sur laquelle doit se faire la copie
Dim lig As Variant
lig = Application.Match(Range("compteur_3"), Range("Repère"), 0)
If IsNumeric(lig) Then Range("Repère").Cells(lig, 1).Select
End Sub

Mais pourquoi sélectionner ? C'est à proscrire en VBA...

A+
 

satwaf

XLDnaute Occasionnel
Re : selectionner une cellule dans une plage en fonction d'une valeur

je suis de la vieille ecole , de celle qui a commencé a programmer en macroexcel4, donc j'ai quelques restes dont je n'arrive pas a me defaire. mais je ne demande qu'a apprendre.
en tout cas un grand merci pour votre aide
 

job75

XLDnaute Barbatruc
Re : selectionner une cellule dans une plage en fonction d'une valeur

Re,

La macro du post #5 suppose que la plage "Repère" n'ait qu'une colonne.

S'il y en a plusieurs, utiliser la méthode Find :

Code:
Sub retrouver_formule2()
'retrouver la ligne sur laquelle doit se faire la copie
Dim ref As Range
Set ref = [Repère].Find([compteur_3], LookIn:=xlValues, LookAt:=xlWhole)
If Not ref Is Nothing Then ref.Select
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
314 698
Messages
2 112 019
Membres
111 399
dernier inscrit
KDM