Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice Henrio
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.
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
Jean-Marc
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
>
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 >
Patrice Henrio
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
clin d'oeil : "There are only 10 kind of people, those who understand boolean and those who don't."
"Jean-Marc" a écrit dans le message de news: 42b7023e$0$343$
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
clin d'oeil : "There are only 10 kind of people, those who understand
boolean and those who don't."
"Jean-Marc" <NO_SPAM_jean_marc_n2@yahoo.fr> a écrit dans le message de news:
42b7023e$0$343$ba620e4c@news.skynet.be...
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
>
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
clin d'oeil : "There are only 10 kind of people, those who understand boolean and those who don't."
"Jean-Marc" a écrit dans le message de news: 42b7023e$0$343$
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 >
Jean-Marc
"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