Macro recherche sur excel 2007

Résolu/Fermé
Armel - 9 mai 2012 à 20:45
 Armel - 10 mai 2012 à 18:06
Bonjour,

J'ai écris une macro pour rechercher un mot dans une base de données. Mes cette macro recherche sur tout le classeur et sur chaque feuille. J'aimerais, si possible que cette macro recherche sur une feuille bien définie et seulement sur les 3 premières colonnes.
Je vous met mon code


Sub Recherche()
Dim F As Worksheet
Dim Cel As Range
Dim Cel_Ref As Range

Set Cel_Ref = Range("R1")
For Each F In Sheets
For Each Cel In F.UsedRange
If (Cel.Address <> Cel_Ref.Address Or F.Name <> ActiveSheet.Name) And _
Cel Like Cel_Ref Then
F.Activate
Cel.Activate
Exit Sub
End If
Next Cel
Next F
MsgBox "N° du bac avec lettre en majuscule, espace et chiffre ! ! ! "
End Sub


Je vous remercie d'avance

Cordialement
Un débutant VBA bloqué ^^



A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 714
9 mai 2012 à 23:28
bonjour,

Si j'ai bien compris ce que tu veux obtenir je te proposerai plutôt d'utiliser directement une recherche (find) :

Public Sub recherche()
Dim Cel As Variant, F As Worksheet
    Set F = Sheets("base") ' mettre le nom de la feuille de recherche
    With F.Range("A:C")
        Set Cel = .Cells.Find(ActiveSheet.Range("R1").Value, .Cells(1, 1), xlValues, xlPart)
        If Cel Is Nothing Then
            MsgBox "recherche infructueuse"
        Else
            F.Activate
            Cel.Activate
        End If
    End With
End Sub

Avec les propriétés de "Cel" trouvée tu peux aussi récupérer le ""N° du bac avec lettre en majuscule, espace et chiffre ! ! ! "
1
Je te remercie cela fonctionne parfaitement encore merci
0