Bonjour,
De plus, je ne peux pas supprimer ces feuilles à l'issue de la RechercheV avec des copies valeur au préalable, car je dois pourvoir faire des recherches dynamiques par formulaires. La source ne peut donc être supprimée.
Je n'ai jamais écrit qu'il fallait supprimer les feuilles sources.
Personnellement, je copie les plages (toujours des tableaux structurés) et ensuite je ferme le classeur source.
Si je n'écris que le Range, j'obtiens bien le nom de ma plage, mais sur la plage de destination et non la source.
C'est logique, dans mon code, je fais référence au classeur où se trouve le code VBA.
Vous auriez intérêt à utiliser des tableaux structurés, bien plus simple à manipuler
Voici une formule placée dans un classeur A, utilisant la fonction RECHERCHEV qui fait référence à un tableau structuré nommé t_Personnel présent dans un classeur B nommé TimeSheet.xlsx
=RECHERCHEV([@Ref];'TimeSheet.xlsx'!t_Personnel[#Données];2;FAUX)
Ainsi, il n'y a aucune raison de créer une plage nommée. Il suffit simplement de copier la formule ci-dessus dans une cellule de la colonne d'un tableau structuré pour obtenir le résultat escompté
Je vous conseille vivement de vous intéresser à PowerQuery
Voir cette contribution de Pierre Fauconnier sur ce sujet [Power Query] Plage nommée Excel, fonctions personnalisées
Partager