Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche précise

R

Romain

Guest
Bonjour,
La macro suivante recherche toutes les lignes contenant toto ou/et anne.
Je souhaite récupérer les lignes contenant à la fois toto et anne.
Si, par exemple, seul toto se trouve sur une ligne, cette dernière ne doit pas être sélectionnée.

Sub RechercheTOTO()

Dim i As Integer
Dim C As Range, lignes As Range
Dim firstAddress As String
exemple = Array("toto", "anne")
With Cells
For i = 0 To 1
Set C = .Find(what:=exemple(i), LookAt:=xlWhole)
If Not C Is Nothing Then
firstAddress = C.Address
Do
Application.Union(Selection, Rows(C.Row)).Select
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
Next
End With
End Sub

Comment modifier le code ?
Merci de m'aider.

Romain
 
M

michel

Guest
bonsoir Romain

j'espère que cette procédure pourra t'aider
seules les lignes contenant à la fois les noms toto et anne sont sélectionnées


Sub Recherche()

Dim C As Integer
Dim D As Range
Dim val As Range

For Each val In ActiveSheet.UsedRange
If val.Value = "toto" Then
C = val.Row

With Rows(val.Row)
Set D = .Find(what:="anne", LookAt:=xlWhole)
If Not D Is Nothing Then
Application.Union(Selection, Rows(val.Row)).Select
End If
End With

End If
Next

End Sub




Très bonne soirée
Michel
 
R

Romain BERTRAND

Guest
Merci beaucoup, Michel, pour ton aide. La procédure sur la liaison fonctionne impecablement et répond à mon attente.
Par contre, la recherche sur Anne et Toto ne donne aucun résultat.
Je n'ai pas de message d'erreur. Je suis en Excel 97, peut-être faut-il être en Excel 2000.

Bonne journée.

Romain
 
M

michel

Guest
Bonjour Romain

Moi aussi j’utilise Excel97
Je pense ( sans en être sur ) que le problème vient des majuscules en début de prénom pour effectuer la recherche

Je ne sais pas comment il faut faire pour que la recherche puisse fonctionner à la fois avec des minuscules et des majuscules
Par contre , si tu es sur d’avoir systèmatiquement des majuscules pour la première lettre du prénom , tu peux modifier la procédure , pour que cela fonctionne

If val.Value = "Toto" Then

Et

Set D = .Find(what:="Anne", LookAt:=xlWhole)

si cela ne fonctionne toujours pas , peux tu renvoyer un message en redétaillant le probleme , et en joignant un exemple zippé si cela t'es possible

Désolé de ne pouvoir mieux t’aider pour l'instant
Bon après midi
Michel
 

Discussions similaires

Réponses
12
Affichages
717
Réponses
9
Affichages
252
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…