Merci Jean-Paul, c'est une possibilité que je ne connaissais pas et qui est très intéressante.
Dans mon cas je ne vois pas bien comment l'utiliser?
En effet, si je l'utilise sur un de mes 160 fichiers excel pour nommer des cellules, çà ne fonctionnera pas sur les 159 autres (puisque je n'aurais pas fait la manip de nommer les cellules sur chacun d'eux pour nommer les cellules) ?
Je ne vois pas aussi comment m'éviter en utilisant cette possibilité de nommer à chaque fois la cellule dans la sub Defusion(). J'ai 53 variables, donc 53 noms à créer dans ce cas. Si j'utilise le gestionnaire de noms, en nommant chacune des variables nom i, nom i+1..., il faudrait que je fasse une recopie des lignes ci-dessous en remplaçant à chaque fois nom i dans 53 modules différents pour permettre la défusion.
'défusionne la cellule et copie la valeur
If Range(nom i).MergeCells Then
Provisoire = Range(nom i).MergeArea.Address
Range(nom i) = Provisoire.UnMerge
End If
Range(nom i).Copy
End Sub
Ce que je souhaiterais c'est avoir une fonction que j'appelle 53 fois mais qui m'évite de taper nom i plusieurs fois (juste une) telle que :
Affection de nom i à Cellule puis
Public Sub Defusion(Cellule As Object)
'défusionne la cellule et copie la valeur
If Range(Cellule).MergeCells Then
Provisoire = Range(Cellule).MergeArea.Address
Range(Cellule) = Provisoire.UnMerge
End If
Range(Cellule).Copy
End Sub
En résumé, iI faudrait que j'arrive à expliquer que Cellule est la cellule qui m'intéresse (53 cellules différentes localisées au même endroit dans 160 fichiers) en une seule fois pour appeler directement Defusion () sans retaper les lignes de code ci-dessus.