Valeur cellule = nom d'onglet si valeur = 0

Fermé
Verchain Messages postés 12 Date d'inscription jeudi 7 avril 2016 Statut Membre Dernière intervention 26 février 2018 - Modifié le 26 févr. 2018 à 10:33
Verchain Messages postés 12 Date d'inscription jeudi 7 avril 2016 Statut Membre Dernière intervention 26 février 2018 - 26 févr. 2018 à 16:41
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

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 févr. 2018 à 11:44
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

0
Verchain Messages postés 12 Date d'inscription jeudi 7 avril 2016 Statut Membre Dernière intervention 26 février 2018
26 févr. 2018 à 16:41
Merci, ça fonctionne bien !
0