Raph90 |
Le 31/05/2009 à 10:04 |
|

|
Bonjours à tous et à toutes Après moult tentatives infructueuses, je vous explique mon problème: J'ai créé un classeur pour avoir une liste de mes films par ordre alphabétique, qui jusqu'ici ne ma poser aucun problème puisque ce sont des choses basiques (une feuille par lettre et un index avec les liens vers les feuilles, voir image pour plus de précision):  Ce que je voudrais faire, c'est insérer un champ recherche dans l'index pour voir si je possède tel ou tel film et qu'il me réponde vrai/faux ou oui/non. Je précise que cette fonction devrait "scanner" toutes les feuilles ( de A à Divers) J'ai tenter quelques manipulations avec les fonctions recherche sans succès. Comment puis-je procéder simplement ? D'avance merci à tous les posteurs.  Raph -- Deux choses sont infinies, l'Univers et la bêtise humaine.
Albert Einstein |
Wilder |
Le 31/05/2009 à 20:12 |
|
 Viconaute Modérateur |
Bonjour Raph90,
Il y a une façon de faire que je connais, mais en VBA.
Petit Userform qui apparait afin de faire une recherche dans toutes les feuilles de ton fichier Excel.
Si tu veux, je peux te concocter un petit quelque chose.
wilder --

|
Raph90 |
Le 01/06/2009 à 12:19 |
|

|
Merci pour ta réponse Wilder, si tu pouvais se serait sympa, bien que je n'aime pas abuser du temps des autres... s'il te faut quelque chose, fait moi savoir.  Raph -- Deux choses sont infinies, l'Univers et la bêtise humaine.
Albert Einstein |
Wilder |
Le 09/06/2009 à 00:10 |
|
 Viconaute Modérateur |
Re bonjour et désolé pour le retard.
Envoie-moi ton fichier Excel et je vais te créer la fonction de recherche.
Une partie du code est:
Dim c As Range
Dim Tablo() As String
Dim Text As String
Dim S As Byte
Dim Firstaddress As String
Dim i As Integer, X As Integer, L As Integer
Text = Me.TextBox1
For S = 1 To Worksheets.Count
With Sheets(S).UsedRange
Set c = .Find(Text, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
Firstaddress = c.Address
Do
ReDim Preserve Tablo(3, i)
Tablo(1, i) = c.Text
Tablo(2, i) = Sheets(S).Name
Tablo(3, i) = c.Address(0, 0)
i = i + 1
Loop While Not c Is Nothing And c.Address <> Firstaddress
End If
End With
Next S
If i = 0 Then
MsgBox Text & " ne si trouve pas" & vbCrLf & "Essayez de nouveau", vbCritical, Sign
Exit Sub
End If
Me.ListBox1.Column() = Tablo()
wilder --

|
Raph90 |
Le 09/06/2009 à 09:44 |
|

|
bonjours
Je vous fait parvenir le fichier dès ce soir.
cordialement raph -- Deux choses sont infinies, l'Univers et la bêtise humaine.
Albert Einstein |
Wilder |
Le 11/06/2009 à 00:18 |
|
 Viconaute Modérateur |
Bonjour,
J'ai terminé ton outil de recherche, quelque chose de très sympa.
Si tu as même oublié le titre complet, mais tu sais qu'il y a un mot précis, il va te donner tous les titres avec ce mot et en cliquant dessus, il se dirige sur la bonne page.
Le problème est que je suis à l'extérieur pour 2 jours. Je vais te l'envoyer vendredi. Es-tu d'accord?
Je crois que je vais faire un petit tuto VBA là-dessus sur VIC pour en faire bénéficier les autres à qui ça pourrait intéresser.
wilder --

|
Raph90 |
Le 11/06/2009 à 08:37 |
|

|
Bien sur il n'y a pas de problème, c'est déjà très sympa de vous en être charger....
a++ et merci encore
raph -- Deux choses sont infinies, l'Univers et la bêtise humaine.
Albert Einstein |
Wilder |
Le 13/06/2009 à 02:48 |
|
 Viconaute Modérateur |
Bonjour Raph90, Je t'ai envoyé le fichier sur ton courriel. Dis-moi ce que tu en penses. a+  --

|
Mh_bilel |
Le 29/06/2009 à 09:57 |
|
|
salut willder, SVP te m'envoyer ce code de recherche sur "Exel" et mercie mon e-mail est xxxxxxxx@gmail.com
L'adresse de courriel en message privé ou sur le profil s'il te plait, merci (édité par Tigène) |
Yoda_sensei |
Le 05/08/2011 à 15:50 |
|
|
Bonjour,
Votre échange m'à particulièrement intéréssé.
Je voulais faire exactement la même chose, et je ne suis pas du tout un expert en VBA. Esc ce que ça vous dérangerai de m'envoyer le fichier ? ça me sauverai la vie :)
Merci ^^ -- l'acte sexuel est hériditaire, si vos parents ne l'ont pas fait, vous ne le ferez pas non plus ! |