Bonjour à tous,
je cherche à détecter un changement de casse (passage majuscule à
minuscule).dans une chaine de caractère en vbs.
si qq un à une idee plz
merci d'avance
Mill
Bonjour à tous,
je cherche à détecter un changement de casse (passage majuscule à
minuscule).dans une chaine de caractère en vbs.
si qq un à une idee plz
merci d'avance
Mill
Bonjour à tous,
je cherche à détecter un changement de casse (passage majuscule à
minuscule).dans une chaine de caractère en vbs.
si qq un à une idee plz
merci d'avance
Mill
Peux-tu en dire plus ?
Pour un début voici ce que je propose
Dim Minuscule as boolean
Minuscule=(Asc(S)>97)
For I=2 to Len(S)
If (Asc(mid(S,I,1))>97)<>Minuscule then
Minuscule=Not(Minuscule)
MsgBox "Passage en " & IIf(Minuscule, "Minuscule", "Majuscule" )
End If
Next I
"Mill" a écrit dans le message de news:
%
> Bonjour à tous,
>
> je cherche à détecter un changement de casse (passage majuscule à
> minuscule).dans une chaine de caractère en vbs.
>
> si qq un à une idee plz
>
> merci d'avance
>
> Mill
>
Peux-tu en dire plus ?
Pour un début voici ce que je propose
Dim Minuscule as boolean
Minuscule=(Asc(S)>97)
For I=2 to Len(S)
If (Asc(mid(S,I,1))>97)<>Minuscule then
Minuscule=Not(Minuscule)
MsgBox "Passage en " & IIf(Minuscule, "Minuscule", "Majuscule" )
End If
Next I
"Mill" <mill99@hotmail.com> a écrit dans le message de news:
%23BacHvadFHA.796@TK2MSFTNGP09.phx.gbl...
> Bonjour à tous,
>
> je cherche à détecter un changement de casse (passage majuscule à
> minuscule).dans une chaine de caractère en vbs.
>
> si qq un à une idee plz
>
> merci d'avance
>
> Mill
>
Peux-tu en dire plus ?
Pour un début voici ce que je propose
Dim Minuscule as boolean
Minuscule=(Asc(S)>97)
For I=2 to Len(S)
If (Asc(mid(S,I,1))>97)<>Minuscule then
Minuscule=Not(Minuscule)
MsgBox "Passage en " & IIf(Minuscule, "Minuscule", "Majuscule" )
End If
Next I
"Mill" a écrit dans le message de news:
%
> Bonjour à tous,
>
> je cherche à détecter un changement de casse (passage majuscule à
> minuscule).dans une chaine de caractère en vbs.
>
> si qq un à une idee plz
>
> merci d'avance
>
> Mill
>
Hello,
il me semble que ça ne fonctionne pas du tout.
Faire les test avec :
"coucou les amis" => 2 passages en majuscule détectés
Ceci en revanche semble fonctionner:
Private Sub DetectChangeCase(ByVal s As String)
Dim length As Long
Dim i As Integer
Dim state As Boolean
state = isLower(Mid$(s, 1, 1))
length = Len(s)
For i = 2 To length
If isAlpha(Mid$(s, i, 1)) Then
If isLower(Mid$(s, i, 1)) <> state Then
MsgBox "changement pos = " & i
End If
state = isLower(Mid$(s, i, 1))
End If
Next i
End Sub
Private Function isLower(ByVal c As String) As Boolean
If (c >= "a") And (c <= "z") Then
isLower = True
Else
isLower = False
End If
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
If (uC >= "A") And (uC <= "Z") Then
isAlpha = True
Else
isAlpha = False
End If
End Function
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" a écrit dans le message de
news:Peux-tu en dire plus ?
Pour un début voici ce que je propose
Dim Minuscule as boolean
Minuscule=(Asc(S)>97)
For I=2 to Len(S)
If (Asc(mid(S,I,1))>97)<>Minuscule then
Minuscule=Not(Minuscule)
MsgBox "Passage en " & IIf(Minuscule, "Minuscule", "Majuscule" )
End If
Next I
"Mill" a écrit dans le message de news:
%
> Bonjour à tous,
>
> je cherche à détecter un changement de casse (passage majuscule à
> minuscule).dans une chaine de caractère en vbs.
>
> si qq un à une idee plz
>
> merci d'avance
>
> Mill
>
Hello,
il me semble que ça ne fonctionne pas du tout.
Faire les test avec :
"coucou les amis" => 2 passages en majuscule détectés
Ceci en revanche semble fonctionner:
Private Sub DetectChangeCase(ByVal s As String)
Dim length As Long
Dim i As Integer
Dim state As Boolean
state = isLower(Mid$(s, 1, 1))
length = Len(s)
For i = 2 To length
If isAlpha(Mid$(s, i, 1)) Then
If isLower(Mid$(s, i, 1)) <> state Then
MsgBox "changement pos = " & i
End If
state = isLower(Mid$(s, i, 1))
End If
Next i
End Sub
Private Function isLower(ByVal c As String) As Boolean
If (c >= "a") And (c <= "z") Then
isLower = True
Else
isLower = False
End If
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
If (uC >= "A") And (uC <= "Z") Then
isAlpha = True
Else
isAlpha = False
End If
End Function
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:eXOSYObdFHA.3488@tk2msftngp13.phx.gbl...
Peux-tu en dire plus ?
Pour un début voici ce que je propose
Dim Minuscule as boolean
Minuscule=(Asc(S)>97)
For I=2 to Len(S)
If (Asc(mid(S,I,1))>97)<>Minuscule then
Minuscule=Not(Minuscule)
MsgBox "Passage en " & IIf(Minuscule, "Minuscule", "Majuscule" )
End If
Next I
"Mill" <mill99@hotmail.com> a écrit dans le message de news:
%23BacHvadFHA.796@TK2MSFTNGP09.phx.gbl...
> Bonjour à tous,
>
> je cherche à détecter un changement de casse (passage majuscule à
> minuscule).dans une chaine de caractère en vbs.
>
> si qq un à une idee plz
>
> merci d'avance
>
> Mill
>
Hello,
il me semble que ça ne fonctionne pas du tout.
Faire les test avec :
"coucou les amis" => 2 passages en majuscule détectés
Ceci en revanche semble fonctionner:
Private Sub DetectChangeCase(ByVal s As String)
Dim length As Long
Dim i As Integer
Dim state As Boolean
state = isLower(Mid$(s, 1, 1))
length = Len(s)
For i = 2 To length
If isAlpha(Mid$(s, i, 1)) Then
If isLower(Mid$(s, i, 1)) <> state Then
MsgBox "changement pos = " & i
End If
state = isLower(Mid$(s, i, 1))
End If
Next i
End Sub
Private Function isLower(ByVal c As String) As Boolean
If (c >= "a") And (c <= "z") Then
isLower = True
Else
isLower = False
End If
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
If (uC >= "A") And (uC <= "Z") Then
isAlpha = True
Else
isAlpha = False
End If
End Function
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" a écrit dans le message de
news:Peux-tu en dire plus ?
Pour un début voici ce que je propose
Dim Minuscule as boolean
Minuscule=(Asc(S)>97)
For I=2 to Len(S)
If (Asc(mid(S,I,1))>97)<>Minuscule then
Minuscule=Not(Minuscule)
MsgBox "Passage en " & IIf(Minuscule, "Minuscule", "Majuscule" )
End If
Next I
"Mill" a écrit dans le message de news:
%
> Bonjour à tous,
>
> je cherche à détecter un changement de casse (passage majuscule à
> minuscule).dans une chaine de caractère en vbs.
>
> si qq un à une idee plz
>
> merci d'avance
>
> Mill
>
Tout dépend de ce que l'on appelle passage en majuscule
A défaut de plus amples informations, je me suis contenté de considérer
comme majuscule uniquement les caractères de codes inférieurs à 97.
On peut sur le même principe créer une fonction booléenne Estminuscule qui
renvoie true lorsque le caractère est minuscule
Function Estminuscule(A as Char) as boolean
EstMinuscule=(Instr("abcdefghijklmnopqrstuvwxyzéèçàùâêîûô",A)>0)
End function
D'ailleurs tu as parfaitement repris l'algo (un peu brut de décoffrage je
l'admets).
Je te signale une amélioration (à mon humble avis)
Private Function isLower(ByVal c As String) As Boolean
IsLower=( (c >= "a") And (c <= "z"))
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
isAlpha=( (uC >= "A") And (uC <= "Z") )
End Function
Par contre je suis d'accord sur l'utilisation de la variable uC qui permet
d'appeler une seule fois la fonction UCase
On peut aussi utiliser cela à la place des tests
IsLower=(InStr("abcdefghijklmnopqrstuvwxyz",c)>0)
isAlpha=(Instr("ABCDEFGHIJKLMNOPQRSTUVWXYZ",UCase$(c))>0)
salut à tous
clin d'oeil : "There are only 10 kind of people, those who understand
boolean and those who don't."
Tout dépend de ce que l'on appelle passage en majuscule
A défaut de plus amples informations, je me suis contenté de considérer
comme majuscule uniquement les caractères de codes inférieurs à 97.
On peut sur le même principe créer une fonction booléenne Estminuscule qui
renvoie true lorsque le caractère est minuscule
Function Estminuscule(A as Char) as boolean
EstMinuscule=(Instr("abcdefghijklmnopqrstuvwxyzéèçàùâêîûô",A)>0)
End function
D'ailleurs tu as parfaitement repris l'algo (un peu brut de décoffrage je
l'admets).
Je te signale une amélioration (à mon humble avis)
Private Function isLower(ByVal c As String) As Boolean
IsLower=( (c >= "a") And (c <= "z"))
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
isAlpha=( (uC >= "A") And (uC <= "Z") )
End Function
Par contre je suis d'accord sur l'utilisation de la variable uC qui permet
d'appeler une seule fois la fonction UCase
On peut aussi utiliser cela à la place des tests
IsLower=(InStr("abcdefghijklmnopqrstuvwxyz",c)>0)
isAlpha=(Instr("ABCDEFGHIJKLMNOPQRSTUVWXYZ",UCase$(c))>0)
salut à tous
clin d'oeil : "There are only 10 kind of people, those who understand
boolean and those who don't."
Tout dépend de ce que l'on appelle passage en majuscule
A défaut de plus amples informations, je me suis contenté de considérer
comme majuscule uniquement les caractères de codes inférieurs à 97.
On peut sur le même principe créer une fonction booléenne Estminuscule qui
renvoie true lorsque le caractère est minuscule
Function Estminuscule(A as Char) as boolean
EstMinuscule=(Instr("abcdefghijklmnopqrstuvwxyzéèçàùâêîûô",A)>0)
End function
D'ailleurs tu as parfaitement repris l'algo (un peu brut de décoffrage je
l'admets).
Je te signale une amélioration (à mon humble avis)
Private Function isLower(ByVal c As String) As Boolean
IsLower=( (c >= "a") And (c <= "z"))
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
isAlpha=( (uC >= "A") And (uC <= "Z") )
End Function
Par contre je suis d'accord sur l'utilisation de la variable uC qui permet
d'appeler une seule fois la fonction UCase
On peut aussi utiliser cela à la place des tests
IsLower=(InStr("abcdefghijklmnopqrstuvwxyz",c)>0)
isAlpha=(Instr("ABCDEFGHIJKLMNOPQRSTUVWXYZ",UCase$(c))>0)
salut à tous
clin d'oeil : "There are only 10 kind of people, those who understand
boolean and those who don't."
"Patrice Henrio" a écrit dans le message de
news:
Hello,Tout dépend de ce que l'on appelle passage en majuscule
A défaut de plus amples informations, je me suis contenté de considérer
comme majuscule uniquement les caractères de codes inférieurs à 97.
Oui ok.On peut sur le même principe créer une fonction booléenne Estminuscule
qui
renvoie true lorsque le caractère est minuscule
Function Estminuscule(A as Char) as boolean
EstMinuscule=(Instr("abcdefghijklmnopqrstuvwxyzéèçàùâêîûô",A)>0)
End function
ok.D'ailleurs tu as parfaitement repris l'algo (un peu brut de décoffrage je
l'admets).
Je te signale une amélioration (à mon humble avis)
Private Function isLower(ByVal c As String) As Boolean
IsLower=( (c >= "a") And (c <= "z"))
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
isAlpha=( (uC >= "A") And (uC <= "Z") )
End Function
Oui, c'est bien sur bien meilleur comme cela.Par contre je suis d'accord sur l'utilisation de la variable uC qui
permet
d'appeler une seule fois la fonction UCase
On peut aussi utiliser cela à la place des tests
IsLower=(InStr("abcdefghijklmnopqrstuvwxyz",c)>0)
isAlpha=(Instr("ABCDEFGHIJKLMNOPQRSTUVWXYZ",UCase$(c))>0)
Bien aussi, c'est vrai.
salut à tous
clin d'oeil : "There are only 10 kind of people, those who understand
boolean and those who don't."
héhé :-)))
La version Geek de la mère Denis aurait dit:
"Ah ça c'est (1=1), ça !"
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:OBAa0gcdFHA.2984@TK2MSFTNGP15.phx.gbl...
Hello,
Tout dépend de ce que l'on appelle passage en majuscule
A défaut de plus amples informations, je me suis contenté de considérer
comme majuscule uniquement les caractères de codes inférieurs à 97.
Oui ok.
On peut sur le même principe créer une fonction booléenne Estminuscule
qui
renvoie true lorsque le caractère est minuscule
Function Estminuscule(A as Char) as boolean
EstMinuscule=(Instr("abcdefghijklmnopqrstuvwxyzéèçàùâêîûô",A)>0)
End function
ok.
D'ailleurs tu as parfaitement repris l'algo (un peu brut de décoffrage je
l'admets).
Je te signale une amélioration (à mon humble avis)
Private Function isLower(ByVal c As String) As Boolean
IsLower=( (c >= "a") And (c <= "z"))
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
isAlpha=( (uC >= "A") And (uC <= "Z") )
End Function
Oui, c'est bien sur bien meilleur comme cela.
Par contre je suis d'accord sur l'utilisation de la variable uC qui
permet
d'appeler une seule fois la fonction UCase
On peut aussi utiliser cela à la place des tests
IsLower=(InStr("abcdefghijklmnopqrstuvwxyz",c)>0)
isAlpha=(Instr("ABCDEFGHIJKLMNOPQRSTUVWXYZ",UCase$(c))>0)
Bien aussi, c'est vrai.
salut à tous
clin d'oeil : "There are only 10 kind of people, those who understand
boolean and those who don't."
héhé :-)))
La version Geek de la mère Denis aurait dit:
"Ah ça c'est (1=1), ça !"
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" a écrit dans le message de
news:
Hello,Tout dépend de ce que l'on appelle passage en majuscule
A défaut de plus amples informations, je me suis contenté de considérer
comme majuscule uniquement les caractères de codes inférieurs à 97.
Oui ok.On peut sur le même principe créer une fonction booléenne Estminuscule
qui
renvoie true lorsque le caractère est minuscule
Function Estminuscule(A as Char) as boolean
EstMinuscule=(Instr("abcdefghijklmnopqrstuvwxyzéèçàùâêîûô",A)>0)
End function
ok.D'ailleurs tu as parfaitement repris l'algo (un peu brut de décoffrage je
l'admets).
Je te signale une amélioration (à mon humble avis)
Private Function isLower(ByVal c As String) As Boolean
IsLower=( (c >= "a") And (c <= "z"))
End Function
Private Function isAlpha(ByVal c As String) As Boolean
Dim uC As String * 1
uC = UCase$(c)
isAlpha=( (uC >= "A") And (uC <= "Z") )
End Function
Oui, c'est bien sur bien meilleur comme cela.Par contre je suis d'accord sur l'utilisation de la variable uC qui
permet
d'appeler une seule fois la fonction UCase
On peut aussi utiliser cela à la place des tests
IsLower=(InStr("abcdefghijklmnopqrstuvwxyz",c)>0)
isAlpha=(Instr("ABCDEFGHIJKLMNOPQRSTUVWXYZ",UCase$(c))>0)
Bien aussi, c'est vrai.
salut à tous
clin d'oeil : "There are only 10 kind of people, those who understand
boolean and those who don't."
héhé :-)))
La version Geek de la mère Denis aurait dit:
"Ah ça c'est (1=1), ça !"
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."