![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonjour à tous
L’année dernière ,un membre du forum m’a fait le programme suivant . Il me sert à faire le tri dans une base de données généalogique,en affichant les lignes (et à cacher les autres) où apparaît un mot choisi dans un formulaire. Serait-il possible d’en créer un autre ou de le transformer afin qu’il me fasse toujours la même chose : mais le mot choisi est issu de la colonne F (un prénom) et la recherche se fait sur la colonne E. Cette dernière est constituée de la façon suivante :nom prénom & nom prénom (xxxx). Les x représentent une date Exemple : je cherche les « Julie » de la page, il doit pouvoir m’afficher les lignes suivantes - Francis Dupond & Julie Durand - julie Martin Il ne doit pas tenir compte de la casse. Merci pour les fanas qui voudront aider un papy qui fait de la généalogie mais qui n’arrive pas à maîtriser VBA. Francis Option Explicit Sub Recherche_Valeur() Dim Plage As Range, Cell As Range Dim ValTest As Variant, Cible As Variant Application.ScreenUpdating = False 'Donnée souhaitée ValTest = InputBox("Entrez la valeur à rechercher !", "CIBLE") 'Contrôle validation If ValTest = "" Then Exit Sub If Application.CountIf(Sheets("Feuil1").Range("C2:G25 0"), ValTest) = 0 Then MsgBox ("Valeur inexistante ?") Sheets("Feuil1").Range("C2:G250").Rows.AutoFit Exit Sub End If 'Définition de la plage Set Plage = Sheets("Feuil1").Range("C2:C250") 'Boucle sur les cellules de la plage For Each Cell In Plage If Application.CountIf(Cell.EntireRow.Range("C1:G1"), ValTest) = 0 And Cell.EntireRow.Hidden = False Then Cell.EntireRow.Hidden = True Else Cell.EntireRow.Hidden = False End If Next Cell Range("A1").Activate Application.ScreenUpdating = True End Sub |
| ANNONCES | |
| Liens sociaux |
| Outils de la discussion | |
|
|