excel 2010 - Macro recherche avec UF qui ne recherche que dans une seule feuille du classeur
#1
Débutant XLPages

Inscription: 31/12/2011

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 30-09-2015 16h34

Bonjour à toutes et à tous,

Me voilà à nouveau avec un souci que je n'arrive pas à résoudre :

J'ai la macro suivante qui m'a été donné et que j'ai pu modifier avec un ami :
Code :
Sub rechercher()
Dim rgZoneRecherche As Range, rgLastzoneCell As Range
Set rgZoneRecherche = Sheets("Repondeurs").Range(ZoneRecherche)
With rgZoneRecherche.Areas(rgZoneRecherche.Areas.Count)
Set rgLastzoneCell = Cells(.Row + .Rows.Count - 1, .Column + .Columns.Count - 1)
End With
On Error Resume Next
Set lastCell = rgZoneRecherche.Find(What:=Quoi, _
After:=IIf(lastCell Is Nothing, rgLastzoneCell, lastCell), _
LookIn:=IIf(Valeur, xlValues, xlFormulas), _
LookAt:=IIf(Totalite, xlWhole, xlPart), _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=Casse, SearchFormat:=False)
On Error GoTo 0
Application.EnableEvents = False
If Not lastCell Is Nothing Then
lastCell.Select
Else
Sheets("Repondeurs").Range(ZoneCliquer).Select
End If
Application.EnableEvents = True
End Sub

Ce code fonctionne parfaitement mais quand je recherche une info (c'est un n° de tel) qui est dans une autre feuille, il n'y va pas !!!

Je pense que ce le code à modifier est le suivant :
Code :
Set rgZoneRecherche = Sheets("Repondeurs").Range(ZoneRecherche)

et qu'il faut peut-être remplacer "Repondeurs" par un truc qui lui indique "tout le classeur" mais je n'arrive pas à trouver.

Je joins un fichier test.

Merci pour votre aide précieuse,
Amicalement,
Lionel,

Pièce jointe:
xlsm recherchetestforum.xlsm   [ Taille: 51.66 Ko - Téléchargements: 463 ]
Hors Ligne
Rapport   Haut 

Re: excel 2010 - Macro recherche avec UF qui ne recherche que dans une seule feuille du classeur
#2
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 13-10-2015 19h08

Bonsoir à tous
Bonsoir arthour973

Si j'ai bien compris ta demande, adapte le code ci-dessous :

Sub recherche()
Dim c As Range
Dim sh As Worksheet
Dim Var As Long

Var = 111111111
For Each sh In Workbooks("recherche_dans_feuilles.xls").Sheets
    ' mettre les colonnes possibles à la place de : b et e
    With sh.Range("b:e")
        Set c = .Find(Var, , LookIn:=xlValues, Lookat:=xlWhole)
        If Not c Is Nothing Then
            sh.Activate
            sh.Range(c.Address).Select
            'si une seule réponse possible
            'Exit Sub
        End If
    End With
Next sh
End Sub

Cordialement
Eric

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes