VBA : gestion des homonymes dans macro

Bonjour à tous, Forum,

Dans une macro de recherche de noms dans différents onglets, je ne sais pas gérer les homonymes... Mes limites en VBA sont atteintes dans cette macro.

Je joins un bout de fichier avec une explication plus précise de ce que je souhaite faire en espérant qu'une bonne âme (ou même plusieurs...) pourra me donner un petit coup de pouce.

https://www.excel-pratique.com/~files/doc2/Homonymie.xls

Merci d'avance et bonne journée.

Fabrice,

Bonjour,

Pas besoin d'une feuille par département ou commune,

tu mets tout dans le même paquet (çà s'appelle une base données)

Ensuite, il est facile de filtrer tel ou tel nom dans telle ou telle commune

(çà s'appelle un filtre élaboré)

J'ai fais plein d'exemples sur ce forum

Amicalement

Claude.

Re- le forum, Bonjour Claude,

Effectivement, j'ai déjà eu l'occasion de regarder quelques exemples, sur ce forum, de ce que tu avais fait en filtres élaborés ou automatiques. Mais j'ai une demande précise de mon supérieur pour un fichier qui doit être "rigolo" et dans lequel on clique sur des boutons sympas pour afficher des listes ou faire des recherches.

Le fichier que je vous ai transmis est "brut de fonderie" et ne contient pas tous les onglets et autres images qui me servent dans ce projet.

Et puis, quand je peux faire du VBA et qu'on me laisse le temps pour le faire, je saute sur l'occasion pour tenter de me perfectionner.

Mais j'ai maintenant besoin d'aide pour continuer et gérer ce problème d'homonymie car mes connaissances en VBA ne me permettent pas, à ce stade, d'aller plus loin.

Claude, si tu penses que c'est une hérésie de procéder en VBA, ne perd pas ton temps avec ce post. Mais j'aimerais bien quand même qu'un spécialiste VBA me donne un coup de main pour terminer.

Merci d'avance et bonne soirée.

Fabrice,

re,

For Each Cell In Range("A5:A" & [a65000].End(xlUp).Row)
    If WorksheetFunction.CountIf(Cell, Nom & "*") Then
        Cell.Activate
    End If
Next Cell

Cette boucle ne sert à rien sinon que d'activer la dernière cellule correspondant au Nom

Sans trop chambouler ton fichier, regarde çà, mais je maintiens ce que j'ai dis + haut !

Fichier (voir module2)

https://www.excel-pratique.com/~files/doc2/Homonymie2.xls

ne m'en demande pas +, je ne te suivrais pas sur ce terrain

Amicalement

Claude.

Bonjour à tous, Forum, Claude,

Un grand merci pour ce que tu as fait dans la macro... Cela fonctionne parfaitement et c'est exactement ce que je cherchais à faire.

Je suis admiratif quand je vois avec quelle facilité vous maitrisez, toi et certains cadors de ce forum, toutes les techniques et possibilités d'Excel. Je m'améliore tous les jours grâce notamment à vos conseils et espère être un jour à votre niveau... Mais je pense que cela prendra du temps...

Je vais, par ailleurs et quand j'aurai un peu de temps, batir un nouveau projet en passant par les filtres pour comparer avec ce que je suis en train de faire. Je ne manquerai pas de te tenir au courant.

Merci encore pour ton implication.

Amicalement.

Fabrice,

Bonjour Fabrice,

Je vais, par ailleurs et quand j'aurai un peu de temps, batir un nouveau projet en passant par les filtres pour comparer avec ce que je suis en train de faire.

Ce que j'ai fais là, c'est justement un filtre

Claude.

Re-, Claude, Forum,

Ce que j'ai fais là, c'est justement un filtre

Je m'en suis aperçu et voulait juste te demander une dernière précision : comment je fais pour copier jusqu'à la colonne M ?

.Range("a4:m" & .[a65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range( _
    "a1:a2"), CopyToRange:=Range("Recherche!a29:m29"), Unique:=False

J'ai bien tenté de remplacé les "L" par des "M" mais cela ne fonctionne pas...

Merci d'avance pour tes éclaircissements.

Fabrice,

Ps : je me suis renseigné sur les logiciels de concours de pétanque et, si tu veux, je t'en parle sur ton fil ouvert à cet effet...

Bonjour,

Tu as ajouter une colonne, il faut mettre les mêmes en-têtes sur les feuilles et la ligne 29 de

la feuille recherche, çà doit marcher.

+ bas tu as aussi cette ligne à modifier

Range("a30:L30").Copy

et encore + bas

Range(Range("a" & i), Range("L" & i)).Copy

les "L" à remplacer par "m"

pour la pétanque, tu peux toujours donner les infos.

à+....Claude.

Re-,

Super ! Ca fonctionne... Je n'avais pas compris qu'il fallait les mêmes en-têtes dans les onglets "département" et la ligne 29 de l'onglet "Recherche"...

Merci encore à toi et rendez-vous sur ton post pour la pétanque.

Amicalement,

Fabrice,

Rechercher des sujets similaires à "vba gestion homonymes macro"