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

mini moteur de recherche

  • Initiateur de la discussion Initiateur de la discussion franck8235
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

franck8235

Guest
Bonjour

je ne suis pas du tout expert en vba je chercherai a
avoir un code pour mini moteur recherche de nom et un affichage dans une fenêtre
de listé déroulante
Bon pas simple a expliquer tout cela voici l'exemple


Merci à tous
 

Pièces jointes

Re : mini moteur de recherche

peut être n'ai je pas été assez explicite dans mon message et sa piéce jointe

l'idée est : que le mot rechercher si il exite soit mis dans la fenetre de la liste déroulante
 
Re : mini moteur de recherche

merci hulk c'est dans l'idée de ce que je voulais même si la recherche est severe car elle n'admet pas une seule faute

Bonne journée
merci à tous
 
Re : mini moteur de recherche

Bonjour à tous,

Comme ma 1ère mouture ne semble pas convenir, en voici une 2ème qui devrait mieux aller (voir la pièce jointe).

Bonne soirée.

PMO
Patrick Morange
 
Re : mini moteur de recherche

Bonjour, ce premier fichier joint, me convient, mais moi j'ai en faite dans mes données, plusieur mots et nom un seul!! et j'aimerai trouver un mot qui va etre en 3eme ou 4eme position!! est-ce possible????

merci
 
Re : mini moteur de recherche

Bonjour PMO,

cela me convient, juse encore une petite chose que j'ai oublié de préciser, c'est juste sur une feuille bien précise ( je ne veux pas avoir le choix de la feuille) toujours sur la feuille intitulée Base documentaire
 
Re : mini moteur de recherche

Bonjour the09,

Pour votre cas particulier, essayez de remplacer le code du module2 par le code suivant (quelques bidouilles y figurent)

Code:
Const MA_FEUILLE As String = "Base documentaire" 'modif pour une seule feuille

Type structTitresColonnnes
  Adresse As String
  Categorie As Variant
  Intitule As Variant
  Nature As Variant
  Inscription As Variant
  Cloture As Variant
  Sites As Variant
  Programmes As Variant
  Liens As Variant
End Type

Function Cherche(pmoWhat As String, pmoMatchCase As Boolean, pmoLookAt As Long) As Variant
Dim S As Worksheet
Dim R As Range
Dim First$
Dim Last$
Dim Colonnes() As structTitresColonnnes
Dim T()
Dim i&
Dim j&
Dim g&
Dim bool As Boolean
On Error GoTo Erreur
Application.EnableEvents = False
Application.DisplayAlerts = False
For Each S In ActiveWorkbook.Worksheets
  If S.Name = "tempo___pmo" Then
    S.Visible = xlSheetVisible
    S.Delete
    Exit For
  End If
Next S
For Each S In ActiveWorkbook.Worksheets
  
  If S.Name = MA_FEUILLE Then 'modif pour une seule feuille

    Set R = S.Cells.Find(after:=S.[iv65536], What:=pmoWhat, MatchCase:=pmoMatchCase, _
        LookAt:=pmoLookAt, SearchOrder:=xlByColumns)
    If Not R Is Nothing Then
      First$ = R.Address
      Last$ = First$
      GoSub Inscription
      Do
        Set R = S.Cells.FindNext(after:=S.Range(Last$))
        If Not R Is Nothing And R.Address <> First$ Then
          Last$ = R.Address
          GoSub Inscription
        End If
      Loop While Not R Is Nothing And R.Address <> First$
    End If
    
  End If  'modif pour une seule feuille
  
Next S
If bool Then
  Set S = Sheets.Add
  S.Name = "tempo___pmo"
  S.Visible = xlSheetVeryHidden
  ReDim T(1 To UBound(Colonnes), 1 To 9)
  For i& = 1 To UBound(T)
    With Colonnes(i&)
      T(i&, 1) = .Adresse
      T(i&, 2) = .Categorie
      T(i&, 3) = .Intitule
      T(i&, 4) = .Nature
      T(i&, 5) = .Inscription
      T(i&, 6) = .Cloture
      T(i&, 7) = .Sites
      T(i&, 8) = .Programmes
      T(i&, 9) = .Liens
    End With
  Next i&
  Set R = S.Range(S.Cells(1, 1), S.Cells(UBound(T, 1), UBound(T, 2)))
  R = T
  Cherche = R
End If
Application.DisplayAlerts = True
Application.EnableEvents = True
Exit Function
Erreur:
Application.DisplayAlerts = True
Application.EnableEvents = True
MsgBox "Erreur " & Err.Number & vbCrLf & vbCrLf & Err.Description
Exit Function
'--------------
Inscription:
bool = True
g& = g& + 1
ReDim Preserve Colonnes(1 To g&)
With Colonnes(g&)
  .Adresse = R.Parent.Name & "!" & R.Address(False, False)
  Set R = S.Range("a" & R.Row & "")
  .Categorie = R
  .Intitule = R.Offset(0, 1)
  .Nature = R.Offset(0, 2)
  .Inscription = R.Offset(0, 3)
  .Cloture = R.Offset(0, 4)
  .Sites = R.Offset(0, 5)
  .Programmes = R.Offset(0, 6)
  .Liens = R.Offset(0, 7)
End With
Return
End Function

Cordialement.

PMO
Patrick Morange
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
574
Réponses
18
Affichages
552
D
  • Question Question
Réponses
5
Affichages
253
Didierpasdoué
D
Réponses
23
Affichages
701
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…