Valeur cellule = nom d'onglet si valeur = 0

Fermé
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
26 février 2018
-
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
26 février 2018
-
Bonjour à tous,

j'ai un petit souci avec un fichier que je construis pour un collègue.

J'ai mis un peu de code dans un onglet pour que le nom de l'onglet soit défini par la valeur qu'on donne à une cellule (un numéro de devis).

Le fichier est destiné à des utilisateurs peu avancés, et je crains qu'ils n'en viennent à supprimer la valeur en voulant la changer, ce qui génère une erreur macro (ex : ils tapent 12345, se rendent compte que c'est 34567 qu'ils voulaient taper, appuient sur Suppr... bien sur la macro se plante, ils laissent tomber l'outil...)

Ci-dessous le code :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("D3")) Is Nothing Then
ActiveSheet.Name = Range("D3")

End If

End Sub


Je ne trouve pas comment exprimer le fait que si la cellule D3 est vide (ou vidée), l'onglet prenne une autre valeur.
On doit pouvoir le faire avec un Else... Mais c'est ce que je dois écrire derrière qui me bloque...

Toute aide est bienvenue...

1 réponse

Messages postés
7653
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 janvier 2022
678
bonjour,

comme ceci:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D3")) Is Nothing Then
If Target.Value = "" Then Exit Sub
ActiveSheet.Name = Range("D3")
End If
End Sub

Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
26 février 2018

Merci, ça fonctionne bien !