Sortir d'un sub si le nom de la cellule active est vide

Bonjour à tous,

Tout d'abord voici la situation:

Je travaille sur un code qui, sur selection d'une cellule dans une feuille de calcul plage "A1:EE537" va chercher une macro dans un module si la celule contien un nom contenant la chaine de caractére "visa" alors un userform s'affiche si la celule contien un nom contenant la chaine de caractére "eclair" un autre userform s'affiche. Le probleme c'est que si la cellule ne contien pas de nom du tout alors j'obtien l'ereur d'execution 1004. Je cherche donc une solution pour sortir du code si la cellule ne contien pas de nom.

Private Sub worksheet_SelectionChange(ByVal Target As Range)

If selection.Count = 1 Then

If Not Intersect(Target,Range("A1:EE537")) Is Nothing Then

Call blochmacro.

Sub blochmacro

If ActiveCell.Name.Name = " " Then

Exit sub

End If

If InStr(1,ActiveCell.Name.Name,"Visa") Then

UserForm1.show

End If

If in str(1,ActiveCell.Name.Name,"Visa") Then

UserForm2.show

Exit sub

End if

Merci d'avance.

Bonjour,

Essaye avec

If ActiveCell.Value = " " Then
Exit sub
End If

Ça fonctionne mais le pb c'est que du coup les cellules qui contienne le nom "visa" ou "éclair" sont vide et le code s'arette méme quand il doit se lancer.

Ceci plutôt ?

Option Compare Text

Sub blochmacro()

If InStr(1, ActiveCell.Value, "Visa") Then
UserForm1.Show

ElseIf InStr(1, ActiveCell.Value, "eclair") Then
UserForm2.Show

Else
Exit Sub

End If
End Sub

Merci pour les réponses

J'ai toujours le méme message d'erreur

Je précise que je fonctionne avec des cellules nomées via formule/definir un nom(d'ou le Name.Name) et non pas des valeurs directement dans la cellule.

D'accord,

As-tu un fichier à présenter ? Ca sera peut-être plus simple.

Malheureusement j'écris depuis un telephone mon pc n'est pas conecter à internet. et puis je ne peut rien récuperer.

Suffit juste de remplacer alors non ?

Option Compare Text

Sub blochmacro()

If InStr(1, ActiveCell.name.name "Visa") Then
UserForm1.Show

ElseIf InStr(1, ActiveCell.name.name, "eclair") Then
UserForm2.Show

Else
Exit Sub

End If
End Sub

ou

Option Compare Text

Sub blochmacro()
If ActiveCell.name.name= "" Then
GoTo 1

ElseIf InStr(1, ActiveCell.name.name, "Visa") Then
UserForm1.Show

ElseIf InStr(1, ActiveCell.name.name, "eclair") Then
UserForm2.Show

Else
Exit Sub
1
End If
End Sub

Si la cellule n'as pas de nom Le programe débogue à la ligne:

If ActiveCell.Name.Name =" " Then

La comande GoTo 1 n'est donc pas executée.

Pour plus de précision ma feuille de calcul contien des cellules nomées. Si le nom contien la valeur recherché ca marche tres bien, si le nom de la cellule ne contien pas la valeur recherchée ca marche tres bien aussi : on sort du sub

Le pb c'est quand la cellule n'as aucun nom.

Je viens de trouver une solution:

  1. On error goto 1
  2. If instr (1, Activecell.name.name,"visa") then
  3. Userform3.show
  4. End if
  5. [...]
  6. End sub

C'est ce que j'allais proposer à l'instant

Rechercher des sujets similaires à "sortir sub nom active vide"