XL 2013 Recherche valeur et aller au résultat - (RÉSOLU)

chantalc33

XLDnaute Nouveau
Bonjour encore!!

Encore un petit problème de recherche...
Donc, disons que j'ai la Feuille1 avec en A1 une donnée qui peut variée.
Je veux une macro pour chercher cette donnée dans la Feuille2, dans toute la colonne A.
Si on trouve la donnée, je veux que ça m'apporte à la feuille2 sur la ligne du résultat.

Est-ce que c'est possible de faire ça?

Merci beaucoup! :)
 

Jauster

XLDnaute Occasionnel
Hello,

A tester

VB:
Sub chchval()
Dim LR, i As Integer
Dim sht1, sht2 As Worksheet

Set sht1 = Worksheets("Feuil1")
Set sht2 = Worksheets("Feuil2")
  LR = sht2.Cells(sht2.Rows.Count, "A").End(xlUp).Row
 
For i = 1 To LR
If sht2.Cells(i, 1) <> sht1.Cells(1, 1) Then
        i = i + 1
Else: sht2.Activate
ActiveSheet.Cells(i, 1).Select
End If
Next i

End Sub
 

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Autre suggestion avec le code ci-après, logé dans le module de l'onglet "Feuil1" :
VB:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal c As Range, Cancel As Boolean)
    Dim mot As Range
    If c.Address <> "$A$1" Then Exit Sub
    Set mot = Sheets("Feuil2").Columns(1).Find(c)
    If Not mot Is Nothing Then Application.Goto mot, True
End Sub
Action par clic double en a1.

A bientôt :)
 

chantalc33

XLDnaute Nouveau
Merci à vous deux!
Jauster, malheureusement, ça ne fonctionne pas... Je n'ai pas de message d'erreur ni rien, mais rien ne se produit.

J'ai changé les noms des feuil1 pour mettre les miennes bien sûr... :

VB:
Sub chchval()
Dim LR, i As Integer
Dim sht1, sht2 As Worksheet

Set sht1 = Worksheets("Save")
Set sht2 = Worksheets("MARS-COMM 2018")
  LR = sht2.Cells(sht2.Rows.Count, "A").End(xlUp).Row

For i = 1 To LR
If sht2.Cells(i, 1) <> sht1.Cells(1, 1) Then
        i = i + 1
Else: sht2.Activate
ActiveSheet.Cells(i, 1).Select
End If
Next i

End Sub


DoubleZero : Ça fonctionne super bien! Par contre, est-ce que tu crois que ça pourrait être adapter pour se produire lors d'un clique sur un bouton au lieu d'un double-clique? Ça m'aiderait... :)

Merci bien!!
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,

Comme ceci ?
VB:
Option Explicit
Sub Atteindre()
    Dim c As String, mot As Range
    c = Sheets("Feuil1").Range("a1")
    Set mot = Sheets("Feuil2").Columns(1).Find(c)
    If Not mot Is Nothing Then Application.Goto mot, True
End Sub
A bientôt :)
 

chantalc33

XLDnaute Nouveau
DoubleZero... Je tente ma chance pour te soutirer encore un peu de ton savoir!! ;)
Est-ce que ce serait possible qu'une fois qu'on a fait le .Goto, ça sélectionne la ligne complète où le mot a été trouvé?
Tant qu'à passer encore des heures à chercher, je me suis dite que si tu savais, ce serait plus rapide ;)

Merci encore!!! :)
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,

Comme cela ?
VB:
Option Explicit
Sub Atteindre()
    Dim c As String, mot As Range
    c = Sheets("Feuil1").Range("a1")
    Set mot = Sheets("Feuil2").Columns(1).Find(c)
    If Not mot Is Nothing Then
        Application.Goto mot, True
        mot.EntireRow.Select
    End If
End Sub
A bientôt :)
 

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 966
Membres
101 852
dernier inscrit
dthi16088