Renvoi résultat recherche (mots ou doublons) vers tableau

Bonsoir,

Dans le classeur ci joint, j'aimerais améliorer les codes présents, mais mes connaissances en vba sont très limitées, même si je tente de comprendre le sens de ce que contiennent les lignes de codes:

1: Je voudrais modifier la recherche (bouton de commande "recherche et affiche.." pour que le ou les résultats recherchés dans les colonnes (A et B), (de la "feuil2" à la "feuilx") s'affichent dans le tableau de la "feuil1" entre les lignes 2 et 34, tout en ne reportant que les colonnes de A à E de la ligne ou les recherches ont abouties; au lieu de me sélectionner la recherche dans la feuille ou elle est trouvée comme fonctionne le code acutellement.

Exemples: recherche "aaa" doit m'afficher dans la fenêtre de la feuille1:

  • ligne 2 de la fenêtre feuille1 : aaa sss jj12 11a24 mpefdc (résultat trouvé feuille2 ligne 1)
  • ligne 3 de la fenêtre feuille1 : vfrs aaa xdcvt 96j32 hndfr (résultat trouvé feuille3 ligne 3)
  • ligne 4 de la fenêtre feuille1 : aaa hjyrfd jntgh l52h mlkn (résultat trouvé feuille4 ligne 4)
  • ligne 5 de la fenêtre feuille1 : aaa sss jj12 11a24 mpefdc(résultat trouvé feuille5 ligne 2)
  • Etc...

Le nombre de feuilles de données (feuille2 à feuillex) sans doute de 10 à 20; le nombre de colonnes sur les (feuilles2 à feuillex) variable d'une feuille à l'autre (de 1000 à 3000).

2: Dans le même esprit, j'aimerais pouvoir améliorer la recherche de doublons (encore merci à "sabV" pour ce code fourni lors d'une demande précédente ici).

Garder la surbrillance comme actuellement, mais en plus un report de tous les débuts des lignes en surbrillance (de la colonne A à E), dans le tableau feuille1 de visualisation rapide; un peu sur le même principe que pour le bouton de recherche.

Merci d'avance à celui ou ceux qui pourraient m'aider à avancer dans le développement de ce classeur.

A++

Bonjour;

Mon post n'ayant pas suscité beaucoup d'intérêts (tout juste 20 visites en 3 jours, si je déduis les miennes), sans doute du à un titre peu explicite "Optimisation des codes actuels de recherche et de doublons", j'en ai modifié le titre; peut être n'aurais pas du mettre 2 demandes d'aides que je trouvais liées dans le même post, et faire 2 posts distincts ?

Néanmoins, j'ai mis à profit ces 3 jours pour fouiner sur le net, et pour le renvoi des résultats de recherche vers un tableau, j'ai trouvé un code approchant que j'ai modifié avec mon minimum de connaissances en créant 2 boucles pour l'adapter à une recherche sur plusieurs feuilles et sur les 2 premières colonnes comme expliqué sur mon classeur joint au 1° post.

Voici le code trouvé et modifié à ma sauce:

Private Sub CommandButton2_Click()
 Dim Tablo As Variant
 Dim chaine As String
 Dim i As Integer
 Dim k As Integer
 Dim l As Integer
On Error GoTo erreur
ActiveSheet.Range("A2:E35").ClearContents
chaine = InputBox("Chaine à rechercher", "Mot clé:")
If chaine = "" Then Exit Sub
For Each f In Worksheets
If f.Name <> "Feuil1" Then
Tablo = Sheets(f.Name).Range("A1:E1" & Range("E" & Rows.Count).End(xlUp).Row)
For n = 1 To 2
For i = 1 To UBound(Tablo, 1)
  k = InStr(1, UCase(Tablo(i, n)), UCase(chaine))
      If k > 0 Then ActiveSheet.Range("A35").End(xlUp).Offset(1, 0) = Tablo(i, 1)
      If k > 0 Then ActiveSheet.Range("B35").End(xlUp).Offset(1, 0) = Tablo(i, 2)
      If k > 0 Then ActiveSheet.Range("C35").End(xlUp).Offset(1, 0) = Tablo(i, 3)
      If k > 0 Then ActiveSheet.Range("D35").End(xlUp).Offset(1, 0) = Tablo(i, 4)
      If k > 0 Then ActiveSheet.Range("E35").End(xlUp).Offset(1, 0) = Tablo(i, 5)
      If k > 0 Then l = l + 1
      If l > 34 Then Exit Sub
  Next i
  Next n
  End If
  Next f
  Exit Sub
erreur:
MsgBox "Une erreur s'est produite !!!"
ActiveSheet.Range("A2:E35").ClearContents
End Sub

Ce code fonctionne et répond presque à ma demande sur ce code de recherche en me renvoyant les résultats vers le tableau; néanmoins, contrairement à la méthode via "find", citée dans mon classeur précédent, elle ne permet pas une recherche avec le terme exact (si je cherche 'aa', il me ressort toutes les lignes avec 'aa', mais aussi 'aaa'.

Là, ça va pour ce classeur d'exemple avec peu de données, mais dans le définitif, le tableau ne sera plus assez grand !!!..pas très pratique..

Avec "find" on peut:

  • Rechercher le terme exact en tapant dans la textbox le mot exact
  • Recherche la ou les cellule(s) contenant le terme saisi en utilisant '*' avant ou après ou les 2 la terme recherché dans la textbox.

Mais je n'arrive pas avec mes médiocres connaissances, à modifier ce code avec la commande 'find'.

Par contre, pour les doublons, dont je désirerais aussi le renvoi dans le tableau (voir classeur joint précédemment), je n'ai là rien trouvé.

Bon week-end, et merci d'avance.

Rechercher des sujets similaires à "renvoi resultat recherche mots doublons tableau"