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 !
Bonjour à tous
J'ai un répertoire téléphonique entreprise sur feuille Excel avec plusieurs colonnes : Site, service, nom, numéro de tél
Je voudrai faciliter la recherche avec une page d'accueil:
J'ai déjà mis une recherche par nom avec une zone de liste déroulante et la fonction RechercheV qui affiche son numéro de tél, ça c'est facile .
Mais je voudrai également faire une recherche par service avec également une zone de liste déroulante et afficher toutes les personnes de ce service avec leur numéros de tél et là, les fonctions ne me paraissent pas suffisantes
Beau travail, mais malheureusement trop compliqué (pour moi et les autres) à maintenir
De plus c'est toute l'entreprise qui utilise ce fichier et nous sommes très nombreux, je tiens donc à avoir quelque chose de simple car ce n'est pas moi qui vais le maintenir (ajout, retrait etc)
Si on pouvait rester dans l'esprit de la "feuil1". La partie "Recherche par nom" est simple et fonctionne trés bien. Je voudrais juste pouvoir afficher dans la partie du bas (Recherche par service) les noms et les N° de Tél de tout un service (20 personnes ou + ) parce qu'il nous arrive de ne pas nous rappeler le nom d'une personne mais de savoir dans quel service elle travaille, mais là je ne sais pas faire une recherche et surtout afficher plus d'un nom.
Meeeeeerci, c'est exactement ce que je voulais
Par contre j'aurais besoin d'explications sur le code du module 2 car maintenant j'ai besoin de remettre la liste complète (qui comprends quand même prés de 700 lignes) de savoir comment réaffecter les cellules fusionnées (pourquoi fusionnées) à cette nouvelle liste et s'il y a des contraintes à connaître lorsqu'on va ajouter, modifier ou enlever des lignes.
Sinon, parfaite interprétation de ma demande
J'ai utilisé Données/Validation
pour créer la liste des services
(J'avais fusionnée les cellules parce difficulté de lecture sinon)
Mais on peut agrandir simplement la largeur de colonne.
Pour résumer, la macro créer_liste
permet de créer une liste sans doublons des services
(copiée en colonne IV) puis nommée Lservices
Cette zone nommée est utilisée pour Données/Validation.
Pour afficher le résultat, la macro utilise le filtre automatique.
PS: Il doit y avoir une solution par formules, plus simple à maintenir par la suite
Attendons les formulistes.
PS2: Voici le code avec des commentaires
Code:
Sub v_services()
[COLOR=SeaGreen] 'Déclarations des variables[/COLOR]
Dim LA As Worksheet
Dim F As Range
Set F = Sheets("Feuil1").Range("F27")
[COLOR=SeaGreen] 'Ici on fige la réactualisation de l'écran[/COLOR]
Application.ScreenUpdating = False
[COLOR=SeaGreen] 'effacement du précédent service[/COLOR]
F.Resize(100, 2).ClearContents
Sheets("Liste Alpha").Select
Set LA = ActiveSheet
[COLOR=SeaGreen] 'ici on filtre selon le service renseigné[/COLOR]
[COLOR=SeaGreen] 'critère en cellule IT2 qui contient une formule renvoyant la valeur de
'la zone nommée le_crit (en fait la cellule B27)[/COLOR]
With LA
.Range("C2").AutoFilter Field:=3, Criteria1:=Range("IT2")
[COLOR=SeaGreen] 'recopie du nom[/COLOR]
.AutoFilter.Range.Columns(4).SpecialCells(xlCellTypeVisible).Copy F
[COLOR=SeaGreen] 'recopie du numéro de téléphone[/COLOR]
.AutoFilter.Range.Columns(7).SpecialCells(xlCellTypeVisible).Copy F.Offset(0, 1)
End With
[COLOR=SeaGreen] 'ici on ote la mise en gras de la police [/COLOR]
F.Offset(1, 0).Resize(100, 2).Font.Bold = False
[COLOR=SeaGreen] 'ici équivalent de [Afficher tout] (sur un filtre automatique)[/COLOR]
Sheets("Liste Alpha").ShowAllData
Sheets("Feuil1").Select
[COLOR=SeaGreen] 'ici réactualisation de l'écran[/COLOR]
Application.ScreenUpdating = True
End Sub
- 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