XL2007 : Cells.find

Le
le Nordiste
Bonjour,

Je suis sous excel 2007.
J'ai deux fichiers REQ.txt et Analyse.xlsx
Je désire trouver dans REQ.txt les valeurs de la colonne A de
Analyse.xlsx
Mon code -ci-dessous- me retourne systématiquement "vide",
même si la valeurs cherchée est présente dans REQ.txt


For Each cellule In Range("a2:a2000")
'valeur à rechercher
Windows("Analyse.xlsx").Activate
strCherché = cellule.Value
'où la trouver
Windows("REQ.txt").Activate
Set PrestaTrouvé = Range("A1:U92014").Find(What:=strCherché,
After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False,
_
SearchFormat:=False).Activate
If PrestaTrouvé Is Nothing Then MsgBox "Found" Else
RangeObj.Select
Next cellule

Remercierments anticipés pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jac
Le #20573581
Bonjour le nordiste,

et si par macro tu mettais en place un recherchev, quitte à faire
ensuite un copier / coller les valeurs ?

Jac

le Nordiste avait énoncé :
Bonjour,

Je suis sous excel 2007.
J'ai deux fichiers REQ.txt et Analyse.xlsx
Je désire trouver dans REQ.txt les valeurs de la colonne A de
Analyse.xlsx
Mon code -ci-dessous- me retourne systématiquement "vide",
même si la valeurs cherchée est présente dans REQ.txt


For Each cellule In Range("a2:a2000")
'valeur à rechercher
Windows("Analyse.xlsx").Activate
strCherché = cellule.Value
'où la trouver
Windows("REQ.txt").Activate
Set PrestaTrouvé = Range("A1:U92014").Find(What:=strCherché,
After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:úlse,
_
SearchFormat:úlse).Activate
If PrestaTrouvé Is Nothing Then MsgBox "Found" Else
RangeObj.Select
Next cellule

Remercierments anticipés pour votre aide


michdenis
Le #20573741
Bonjour,

J'ai testé cette macro réalisée à partir de la tienne.

Elle fonctionne très bien !

Cette macro doit être placé dans un module de ton classeur
qui n'est pas le fichier "texte". Tu dois adapter le nom des
objets dans la procédure.

Attention, si ton fichier provient d'une importation, il est possible
que certaines cellules contiennent le caractère ascii 160 (espace insécable)
qui n'est pas visible à l'oeil mais qui fausse le résultat de la recherche.

'-----------------------------------------
Sub test()
Dim Cellule As Range
Dim StrCherché As String
With Worksheets("Feuil3")
For Each Cellule In .Range("A2:A2000")
StrCherché = Cellule.Value
With Workbooks("REQ.txt")
With .Worksheets("REQ")
With .Range("A:D")
Set found = .Find(What:=StrCherché, _
After:Îllule, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:úlse, _
SearchFormat:úlse)
End With
End With
End With
If Not found Is Nothing Then
'Si tu veux sélectionner la cellule,
'la feuille où sont tes données doit
'être la feuille active.
MsgBox "Trouvé"
Else
MsgBox "Non trouvé"
End If
Next
End With
End Sub
'-----------------------------------------



"le Nordiste" :
Bonjour,

Je suis sous excel 2007.
J'ai deux fichiers REQ.txt et Analyse.xlsx
Je désire trouver dans REQ.txt les valeurs de la colonne A de
Analyse.xlsx
Mon code -ci-dessous- me retourne systématiquement "vide",
même si la valeurs cherchée est présente dans REQ.txt


For Each cellule In Range("a2:a2000")
'valeur à rechercher
Windows("Analyse.xlsx").Activate
strCherché = cellule.Value
'où la trouver
Windows("REQ.txt").Activate
Set PrestaTrouvé = Range("A1:U92014").Find(What:=strCherché,
After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:úlse,
_
SearchFormat:úlse).Activate
If PrestaTrouvé Is Nothing Then MsgBox "Found" Else
RangeObj.Select
Next cellule

Remercierments anticipés pour votre aide
Publicité
Poster une réponse
Anonyme