Excel / VBA - Une recherche avec recherche avec retour multiple

Une recherche simple renvoie la première coordonnée.
  • Dans certaines situations, il est nécessaire de connaître tous les détails des occurrences trouvées.
  • Ceci est réalisé avec la fonction ci-dessous.

Dans un module public

 'Retourne toutes les adresses trouvées dans la recherche' WkbN = nom du classeur, avec cette donnée peut être mis en forme dans un xla 'WksN = nom de la feuille' Plage = les coordonnées de la plage à parcourir. 'Retour dans le tableau donner en argument. Fonction RechFind (ByVal Cle en tant que chaîne, ByVal WkbN en tant que chaîne, ByVal WksN en tant que chaîne, ByVal Plage en tant que chaîne, ByRef TBadress () en tant que variante) As Long Dim Cherche, Ix As Long, Adresse avec des classeurs (WkbN) .Sheets (WksN) .Range (Plage) Set Cherche = .Find (Cle) Si non Cherche n'est rien alors PrAddress = Cherche.Address Do ReDim Conserve TBadress (Ix) TBadress (Ix) = Cherche.Address Set Cherche = .FindNext (Cherche) Ix = Ix + 1 boucle tant que non cherche n'est rien et cherche.Adresse PrAddress End If End avec 'nombre d'occurence (s) trouvée (s), Retour 0 fois aucune occurrence RechFind = Ix Définir Cherche = Rien' Libére la mémoire occupée par l ' objet. Fonction de fin 

Ajouter à un classeur Xla.

Utiliser une macro

 Sous RechMulti () Dim R As Long, TB () Dim i As Integer R = RechFind ("12 *", ThisWorkbook.Name, "Feuil1", "B1: B500", TB ()) Si R> 0 Alors pour i = 0 À R - 1 'exemple de feuilles' (1) liées ("Feuil1"). Cellules (i + 4, 5) = Plage (TB (i)). Ligne suivante i End If End Sub 

Utiliser un bouton d'appel

 Private Sub CommandButton1_Click () Dim R As Long, TB () Dim i As Integer Range ("E4: E20"). ClearContents R = RechFind (Range ("E2"), ThisWorkbook.Name, ActiveSheet.Name, Range ("B1 : B500 "). Adresse, TB ()) Si R> 0 Alors pour i = 0 À R - 1 'ou ubound (TB)' exemples de feuilles (" Feuil1 "). Cellules (i + 4, 5) = Plage ( TB (i)). Row Next i End If End Sub 

Télécharger

Téléchargez le cahier de test: ici.

Article Précédent Article Suivant

Les Meilleurs Conseils