Bonjour
Je recherche une macro qui permette de savoir si une cellule porte déjà un nom
J’ai trouvé cette macro sur ne Net
Mais elle n’est parfaite :
1) Si il existe un seul nom qui renvoi à rien, elle plante obligatoirement
Exemple : 1 ligne supprimée qui comportait une cellule nommée et dont le nom serait resté dans le gestionnaire des noms.
2) Si il existe un seul nom qui renvoi à des cellules non contigües,
Elle plante également irrémédiablement.
3) Il y a d’autre cas, ou elle plante également (Dans des fichiers comportant un grand nombre de noms, sans que je sois parvenu à trouver la cause exacte ??
4) Si une cellule qui comporte deux noms, voir plus
Elle donnera seulement le dernier nom dans l’ordre alphanumérique
5) Une cellule comportant un nom, elle-même dans un groupe de cellules nommées
Elle donnera seulement le nom du groupe de cellules
Exemple : Cellule A1 nommée « Case »
Cellules A1 : D5 nommées « Zone »
A1 renvoie « Zone »
Si quelqu’un connait ou a déjà programmé une autre macro sans ces inconvénients …
Merci d’avance
	
	
	
	
	
		
	
		
			
		
		
	
				
			Je recherche une macro qui permette de savoir si une cellule porte déjà un nom
J’ai trouvé cette macro sur ne Net
Mais elle n’est parfaite :
1) Si il existe un seul nom qui renvoi à rien, elle plante obligatoirement
Exemple : 1 ligne supprimée qui comportait une cellule nommée et dont le nom serait resté dans le gestionnaire des noms.
2) Si il existe un seul nom qui renvoi à des cellules non contigües,
Elle plante également irrémédiablement.
3) Il y a d’autre cas, ou elle plante également (Dans des fichiers comportant un grand nombre de noms, sans que je sois parvenu à trouver la cause exacte ??
4) Si une cellule qui comporte deux noms, voir plus
Elle donnera seulement le dernier nom dans l’ordre alphanumérique
5) Une cellule comportant un nom, elle-même dans un groupe de cellules nommées
Elle donnera seulement le nom du groupe de cellules
Exemple : Cellule A1 nommée « Case »
Cellules A1 : D5 nommées « Zone »
A1 renvoie « Zone »
Si quelqu’un connait ou a déjà programmé une autre macro sans ces inconvénients …
Merci d’avance
		Code:
	
	
	Sub Nom_de_Cellule()
    'déclarations
    Dim nms As Names
    Dim Ok As Boolean
    Dim i As Integer
    Dim Indice As Integer
    Dim Nom_Cell As String
    'initialisations
    Ok = False
    Set nms = ActiveWorkbook.Names
    'teste si la cellule active correspond à un des noms
 
    For i = 1 To nms.Count
        'If nms(i).RefersToRange.Address = ActiveCell.Address Then Ok = True
        If Not Intersect(ActiveCell, nms(i).RefersToRange) Is Nothing Then
            Ok = True
            Indice = i
        End If
    Next
    'si oui
    If Ok = True Then
        Nom_Cell = nms(Indice).Name
        MsgBox Nom_Cell
      'sinon
      Else
        MsgBox "Sans nom défini"
    End If
End Sub