Formulaire de recherche VBA-Excel
Rougv86
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'essaye actuellement de réaliser ma première macro avec VBA (très peu de connaissances en code donc)
Je cherche àune base de données d'articles d'un magazine. J'ai donc créé un formulaire de saisie.
Pour chaque article, je renseigne : le titre, des mots-clés, le pays dont l'article parle, la date, le n° du journal, la page..
Après ca, je voudrais créer un formulaire de recherche. C'est à dire, on rentre soit : un ou plusieurs mots-clés, soit un pays, soit une date ... et il trouve les articles correspondants (rangés dans une feuille excel "Index" )
Et pour ca, j'y arrive plus ! Je ne sais pas du tout quel code il faut mettre. Pourriez-vous m'aider ? (petite précision, peut être inutile : j'ai Excel 2000)
Merci d'avance
J'essaye actuellement de réaliser ma première macro avec VBA (très peu de connaissances en code donc)
Je cherche àune base de données d'articles d'un magazine. J'ai donc créé un formulaire de saisie.
Pour chaque article, je renseigne : le titre, des mots-clés, le pays dont l'article parle, la date, le n° du journal, la page..
Après ca, je voudrais créer un formulaire de recherche. C'est à dire, on rentre soit : un ou plusieurs mots-clés, soit un pays, soit une date ... et il trouve les articles correspondants (rangés dans une feuille excel "Index" )
Et pour ca, j'y arrive plus ! Je ne sais pas du tout quel code il faut mettre. Pourriez-vous m'aider ? (petite précision, peut être inutile : j'ai Excel 2000)
Merci d'avance
A voir également:
- Formulaire de recherche VBA-Excel
- Whatsapp formulaire opposition - Guide
- Liste déroulante excel - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
1 réponse
Bonjour,
Voici un exemple que j'avais codé pour un membre CCM.
Postulat :
Les critères de recherche sont sur la feuille 1
Les données index sont sur la feuille 2
Lupin
Voici un exemple que j'avais codé pour un membre CCM.
Postulat :
Les critères de recherche sont sur la feuille 1
Les données index sont sur la feuille 2
Option Explicit
'
Type Resultats
Ligne As Long
Adresse As String
Formule As String
Valeur As Variant
End Type
'
Public Sub Recherche()
Dim varCellule As Range, VarChaine As String
Dim VarBoite As Resultats
VarBoite.Ligne = 0: VarBoite.Adresse = "": VarBoite.Valeur = ""
Set varCellule = Application.InputBox("Cellule source : ", Type:=8)
Sheets(2).Select
Range("A1").Select
ChercheDateSousRoutine VarBoite, varCellule
VarChaine = ""
VarChaine = vbLf & " { - - - Paramètres trouvés en fonction de la recherche - - - } " & vbLf & vbLf
VarChaine = VarChaine & vbLf & "[ Ligne : " & VarBoite.Ligne & " ] " & vbLf
VarChaine = VarChaine & vbLf & "[ Adresse : " & VarBoite.Adresse & " ] " & vbLf
VarChaine = VarChaine & vbLf & "[ Formule : " & VarBoite.Formule & " ] " & vbLf
VarChaine = VarChaine & vbLf & "[ Valeur : " & VarBoite.Valeur & " ] " & vbLf
VarChaine = VarChaine & vbLf & vbLf
MsgBox VarChaine, vbOKOnly, "Recherche personnalisé"
Set varCellule = Nothing
End Sub
'
Private Sub ChercheDateSousRoutine(ByRef VarBte As Resultats, ByVal Cellule As Range)
Dim PlageDeRecherche As String, CelluleTrouve As Range
PlageDeRecherche = "A1:A" & Range("A7").End(xlDown).Row
With Range(PlageDeRecherche)
Set CelluleTrouve = .Find(What:=Cellule.Value, LookIn:=xlValues)
End With
If Not (CelluleTrouve Is Nothing) Then
VarBte.Ligne = CelluleTrouve.Row
VarBte.Adresse = CelluleTrouve.Address
VarBte.Formule = CelluleTrouve.Formula
VarBte.Valeur = CelluleTrouve.Value
Else
VarBte.Ligne = 0
End If
Set CelluleTrouve = Nothing
End Sub
'
Lupin