Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gérer l'erreur sur la fonction Split...

8 réponses
Avatar
Yvan
Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???

--
Merci pour vos réponses.

8 réponses

Avatar
Daniel
Bonjour.
Essaie :

On Error Resume Next
Var = Split(B1, "/")(0)
If Err.Number <> 0 Then
Err.Clear
'routine d'erreur
End If

Cordialement.
Daniel
"Yvan" a écrit dans le message de news:

Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???

--
Merci pour vos réponses.


Avatar
Jacques93
Bonjour Yvan,

Par exemple :

Dim t As Variant

If InStr(Range("A1"), "/") = 0 Then
MsgBox "Pas de /"
Else
t = Split(Range("A1"), "/")
MsgBox UBound(t) & " /"
End If

Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???




--
Cordialement,

Jacques.

Avatar
MichDenis
A ) ta syntaxe n'était pas bonne
B ) le (0) signifie le premier élément du tableau
même s'il n'y a pas de "/" dans la chaîne,
le premier élément sera la chaîne au complet
cela ne génèrera pas d'erreur

La syntaxte :

If IsError(Split(Range("A1"), "/")(1)) Then
MsgBox "il n'y a pas de ""/"""
End If

et pour tester si cela fonctiionne
demande l'élément (1) si dans ta cellule A1
il n'y a pas de "/" et le message s'affichera.


"Yvan" a écrit dans le message de news:

Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???

--
Merci pour vos réponses.
Avatar
Daniel
Bonjour.
Tu as raison...sauf si la cellule est vide.
Daniel
"MichDenis" a écrit dans le message de news:


A ) ta syntaxe n'était pas bonne
B ) le (0) signifie le premier élément du tableau
même s'il n'y a pas de "/" dans la chaîne,
le premier élément sera la chaîne au complet
cela ne génèrera pas d'erreur

La syntaxte :

If IsError(Split(Range("A1"), "/")(1)) Then
MsgBox "il n'y a pas de ""/"""
End If

et pour tester si cela fonctiionne
demande l'élément (1) si dans ta cellule A1
il n'y a pas de "/" et le message s'affichera.


"Yvan" a écrit dans le message de news:

Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???

--
Merci pour vos réponses.




Avatar
MichDenis
Ce n'est pas parce que je n'ai pas ajouté un bout de
code pour la gestion des erreurs qu'il ne faut pas
en ajouter.

En début de code du peux utiliser ceci :
On error resume next

Ou

sub test()
On Error GoTo denis
If IsError(Split(Range("A1"), "/")(1)) Then
MsgBox "il n'y a pas de ""/"""
End If
Exit Sub
denis:
MsgBox "Tabarnac, la cellule est vide!!!"
End Sub


"Daniel" a écrit dans le message de news:

Bonjour.
Tu as raison...sauf si la cellule est vide.
Daniel
"MichDenis" a écrit dans le message de news:


A ) ta syntaxe n'était pas bonne
B ) le (0) signifie le premier élément du tableau
même s'il n'y a pas de "/" dans la chaîne,
le premier élément sera la chaîne au complet
cela ne génèrera pas d'erreur

La syntaxte :

If IsError(Split(Range("A1"), "/")(1)) Then
MsgBox "il n'y a pas de ""/"""
End If

et pour tester si cela fonctiionne
demande l'élément (1) si dans ta cellule A1
il n'y a pas de "/" et le message s'affichera.


"Yvan" a écrit dans le message de news:

Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???

--
Merci pour vos réponses.




Avatar
Yvan
Désolé, mais cela ne fonctionne pas...
J'ai une fenêtre de débogage qui s'ouvre avec le message "L'indice
n'appartient pas à la sélection."

--
Merci pour vos réponses.




A ) ta syntaxe n'était pas bonne
B ) le (0) signifie le premier élément du tableau
même s'il n'y a pas de "/" dans la chaîne,
le premier élément sera la chaîne au complet
cela ne génèrera pas d'erreur

La syntaxte :

If IsError(Split(Range("A1"), "/")(1)) Then
MsgBox "il n'y a pas de ""/"""
End If

et pour tester si cela fonctiionne
demande l'élément (1) si dans ta cellule A1
il n'y a pas de "/" et le message s'affichera.


"Yvan" a écrit dans le message de news:

Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???

--
Merci pour vos réponses.





Avatar
Daniel
Essaie :

If [A1] = "" Then
MsgBox "Cellule vide"
ElseIf UBound(Split(Range("A1"), "/")) = 0 Then
MsgBox "il n'y a pas de ""/"""
End If

Daniel
"Yvan" a écrit dans le message de news:

Désolé, mais cela ne fonctionne pas...
J'ai une fenêtre de débogage qui s'ouvre avec le message "L'indice
n'appartient pas à la sélection."

--
Merci pour vos réponses.




A ) ta syntaxe n'était pas bonne
B ) le (0) signifie le premier élément du tableau
même s'il n'y a pas de "/" dans la chaîne,
le premier élément sera la chaîne au complet
cela ne génèrera pas d'erreur

La syntaxte :

If IsError(Split(Range("A1"), "/")(1)) Then
MsgBox "il n'y a pas de ""/"""
End If

et pour tester si cela fonctiionne
demande l'élément (1) si dans ta cellule A1
il n'y a pas de "/" et le message s'affichera.


"Yvan" a écrit dans le message de news:

Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???

--
Merci pour vos réponses.







Avatar
Ange Ounis
Si le but du jeu est de tester la présence ou non de slah(es) dans une chaîne de
caractères (éventuellement vide), essaye cette syntaxe :

Sub essai()
Dim S As String, R As Integer
S = "b/onj/our"
If S <> "" Then R = UBound(Split(S, "/")) Else R = 0
If R = 0 Then MsgBox "pas de slash" Else MsgBox "slash(es) présent(s)"
End Sub

----------
Ange Ounis
----------

Bonjour,

Je pensais pouvoir utiliser la syntaxe :
If IsError(Split(A1,"/")(0) Then

mais cela ne fonctionne pas. Comment faire ???