Macro

Fermé
Médite - 10 mai 2010 à 21:49
 Médite - 13 mai 2010 à 18:22
Bonjour,

J'ai une macro de recherche que j'ai trouvé sur votre site et que j'ai déjà un peu modifié pour pouvoir faire mes recherches mais je voudrais ajouter une fonction supplémentaire.

A la feuil2 lorsque j'utilise la cellule A2 pour lui demander ce que je recherche et qu'il me saisi en ligne A à C toutes les données. Est.ce possible que si je double clique sur une donnée recherchée ca me renvoie à la feuil1 où se situe l'information (un peu un retour à l'information de base). Est.ce que quelqu'un peut m'aider à compléter cette macro ?

Merci d'avance pour votre aide.

Sub cherche_texte()
Dim adr As String
li = 7
With Sheets("Feuil2")
tro = .Range("a2")
.Range("a7:a1000") = MEI
.Range("b7:b1000") = MEI
.Range("c7:b1000") = MEI

End With
With Sheets("Feuil1").Range("C19:J22")
Set c = .Find(tro, LookIn:=xlValues)
If Not c Is Nothing Then
preadr = c.Address
Do
adr = c.Row
Sheets("Feuil2").Cells(li, 1).Value = Cells(adr, 3) & "-" & Cells(adr, 6)
Sheets("Feuil2").Cells(li, 2).Value = Cells(adr, 9)
Sheets("Feuil2").Cells(li, 3).Value = Cells(adr, 8)
li = li + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> preadr
End If
End With
End Sub


A voir également:

9 réponses

Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
12 mai 2010 à 15:34
Bonjour,
Au passage : pour ceci
With Sheets("Feuil2") 
tro = .Range("a2") 
.Range("a7:a1000") = MEI 
.Range("b7:b1000") = MEI 
.Range("c7:b1000") = MEI 

End With

A remplacer par :
With Sheets("Feuil2") 
tro = .Range("a2") 
.Range("A7:C1000") .Clear 
End With


Quand est-il de ma proposition de procédure ?
1
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
12 mai 2010 à 23:20
Bonjour,
Ma proposition : https://www.cjoint.com/?fmxui4xR4B
1
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
Modifié par Le Pingou le 11/05/2010 à 00:01
Bonjour,
Avec cette procédure, à mettre dans le module de la feuille 2, le double clic sur la cellule A2 activera la feuille 1 :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
If Target.Address = "$A$2" Then 
 Sheets("feuil1").Activate 
End If 
End Sub


En marge: quand à complèter votre macro, il faudrait déjà comprendre se qu'elle est sensé réaliser ( déjà avec un [MEI] qui sort de nul part !)
--
Salutations.
Le Pingou
0
Bonjour,

Tout d'abord je tiens à te remercier pour ta réponse.

Tu peux remplacer le mot MEI par .clear.

La cellule A2 sert à mettre le mot que je recherche. Exemple : 52289JJJ

Ca m'affiche le résultat à partir de la ligne 7

52289JJJ 01.02.2010 K (Ligne A7) Idem pour les autres infos (Ligne B7)....
52289JJJ 01.02.2010L (Ligne A8)
52289JJJ 01.05.2010O (Ligne A9)

Je voudrais rajouter que lorsque je clique sur le 01.02.2010L ca m'ouvre la feuil1 et la ligne de la cellule où il a été cherché l'information. :-)

Merci d'avance :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oui ca me renvoie à la feuil1 mais je voudrais qu'il me renvoie à la ligne exact où se trouve la donnée. Comment est-ce qu'il faut faire?

Oui merci pour tes conseils. :-)
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
12 mai 2010 à 17:49
Bonjour,
Oui mais comment est le résulta exact (par exemple dans la ligne 7 )
car ce n'est pas :
52289JJJ 01.02.2010 K (Ligne A7) Idem pour les autres infos (Ligne B7)....

mais peut-être selon votre code (les valeurs des cellules C22 et F22 sont concaténées) , comme ceci dans l'ordre cellule A7;B7;C7

Valeur Col 3/ li 22-Valeur Col 6/ li 22 ; Valeur Col 9/ li 22 ; Valeur Col 8/ li 22

Est-ce correct ?
0
https://www.cjoint.com/?fmsiSLV2hJ

Voici le modèle, j'ai dit ce que j'aurais souhaité faire en feuil2

J'espère que tu pourras m'aider
0
Oui c'est exact c'est pour ca que je voudrais que ca me renvoie à la ligne. :-)
0
Superbe c'est exactement ce que je voulais. Je te remercie infiniment Pingou.

:-) ;-)
0