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

XL 2016 FONCTION RECHERCHE

mcj1997

XLDnaute Accro
Bonjour,

J'ai une question pour adapter la fonction recherche en PJ.

Merci d'avance,
 

Pièces jointes

  • RECHERCHE LIGNE.xlsx
    9.3 KB · Affichages: 18

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Ci joint deux exemples par Power Query et vba (pour la mise à jour)
La première requêtes modifie les types de donnée avant recherche et la deuxième en cours de recherche.
Vous avez des 'Tailles' qui ne sont pas des nombres mais des textes, 1.9 au lieu de 1,9 ce qui obligerait dans la première à des gymnastiques chronophages pour retrouver le type idoine de la colonne après recherche.

La recherche ne tient pas compte de la casse.
Pour trouver les lignes d'août de n'importe quelle année, tapez : /08

Cordialement
 

Pièces jointes

  • Recherche textuelle tous champs.xlsm
    35.9 KB · Affichages: 2

mcj1997

XLDnaute Accro
@M12 Bien sûr s'il y a beaucoup de lignes il faut mettre les résultats dans une autre feuille.

mcj1997 est "Accro", il devrait pouvoir adapter la macro facilement.
Après tentative, je vais avoir besoin d'aide pour faire en sorte d'avoir deux fichiers, un sur lequel il y aurait le tableau des différents renseignements et sur l'autre fichier la cellule ou mettre le nom ou chiffres recherchés avec la restitution des lignes en dessous.

Merci d'avance,
 

job75

XLDnaute Barbatruc
Vous avez 1057 posts à votre actif, vous devriez être capable d'aboutir à ça :
VB:
'---restitution---
With Sheets("Résultat")
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    With .[A2] '1ère cellule des résultats, à adapter
        If n Then .Resize(n, ncol) = resu
        .Offset(n).Resize(Rows.Count - n - .Row + 1, ncol).ClearContents 'RAZ en dessous
    End With
    .Columns.AutoFit 'ajuste les largeurs
    With .UsedRange: End With 'actualise la barre de défilement verticale
    .Activate 'facultatif
End With
End Sub
 

Pièces jointes

  • RECHERCHE LIGNE(2).xlsm
    20.7 KB · Affichages: 2

job75

XLDnaute Barbatruc
je vais chercher comment mettre la cellule ou indiquer la valeur cherchée dans la feuille "Résultat".
Voyez ce fichier (3) et ces 2 macros dans le code de la feuille "Recherche" :
VB:
Private Sub Worksheet_Activate()
Worksheet_Change [A1] 'lance la macro
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cible$, ncol%, tablo, i&, j%, n&, k%
If [A1] <> "" Then cible = "*" & UCase([A1]) & "*"
ncol = 6 'à adapter
tablo = Sheets("BDD").[A1].CurrentRegion.Resize(, ncol) 'matrice, plus rapide
ReDim resu(1 To UBound(tablo), 1 To ncol)
For i = 2 To UBound(tablo)
    For j = 1 To ncol
        If UCase(tablo(i, j)) Like cible Then
            n = n + 1
            For k = 1 To ncol: resu(n, k) = tablo(i, k): Next k
            Exit For
        End If
Next j, i
'---restitution---
Application.EnableEvents = False 'désactive les évènements
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A3] '1ère cellule des résultats, à adapter
    If n Then .Resize(n, ncol) = resu
    .Offset(n).Resize(Rows.Count - n - .Row + 1, ncol).ClearContents 'RAZ en dessous
End With
Columns(2).Resize(, Columns.Count - 1).AutoFit 'ajuste les largeurs
With UsedRange: End With 'actualise la barre de défilement verticale
Application.EnableEvents = True 'réactive les évènements
End Sub
Le tableau est mis à jour quand on modifie ou valide une cellule quelconque ou qu'on active la feuille.
 

Pièces jointes

  • RECHERCHE LIGNE(3).xlsm
    21.5 KB · Affichages: 4
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…