Bonjour,
Je maîtrise assez bien la création à l'aide de formulaires, requêtes, macro, mais je débute dans l'utilisation du code vba comme dans l'exemple ci dessous (ma première programmation en vba)
Je cherche à faire une recherche par filtre sur le formulaire ouvert à partir de plusieurs critères.
J'ai cherché un programme à adapter à ma demande et j'ai trouvé celui ci que j'ai un peu repris:
Private Sub CmdFiltre_Click()
f = ""
g = ""
If Not IsNull(Me.Rnom) And Me.Rnom <> "" Then
f = "NOM LIKE ""*" & Me.Rnom & "*"""
End If
If Not IsNull(Me.Rprenom) And Me.Rprenom <> "" Then
f = "PRENOM LIKE ""*" & Me.Rprenom & "*"""
End If
If Not IsNull(Me.Rnum) And Me.Rnum <> "" Then
f = "N° LIKE ""*" & Me.Rnum & "*"""
End If
If Not IsNull(Me.Rrue) And Me.Rrue <> "" Then
g = "RUE LIKE ""*" & Me.Rrue & "*"""
End If
If Not IsNull(Me.Rville) And Me.Rville <> "" Then
f = "VILLE LIKE ""*" & Me.Rville & "*"""
End If
Me.Filter = "(f And g)"
Me.FilterOn = True
End Sub
J'ai créé la variable g pour obtenir une recherche à partir de plusieurs critères, car dans sa conception initiale elle propose plusieurs critères mais la sub recherche à partir d'un seul critère.
Le problème se trouve sur la ligne : "me.filter ="(f and g)"
Je demande l'application du filtre mais avec plusieurs critères (dans mon exemple f et g) J'ai essayé plusieurs écritures sans succés. Au mieux j'obtient un filtre à partir du dernier critère. J'ai même essayé de faire appliquer des conditions if sans meilleurs résultat.
Je n'ai rien trouvé sur internet sur le fonctionnement de ce filtre.
Je transformerez le début après avoir trouvé la solution à ce problème
merci pour vos eclaircissement
Configuration: Windows XP
Internet Explorer 6.0