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

Comment écrire en VBA Cellule en Majuscules ?

22 réponses
Avatar
Michel.Girard
Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup

10 réponses

1 2 3
Avatar
anomymousA
re,

pas trop le temps de tester mais un parcours de la chaine textuelle en
comparant les caractères à leur valeur en ASCII devrait suffire.
Sais-tu faire ça ?

Pour obetnir la valeur ASCII des caractères, fais un petit programme
for I=0 to 256
cells(I+1,1).value=chr(I)
next

A+





Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup






Avatar
Michel.Girard
Bonjour anomymousA
Je pensai qqchose du genre if ""Ucase then ...
Michel

"anomymousA" a écrit dans le message
de news:
re,

pas trop le temps de tester mais un parcours de la chaine textuelle en
comparant les caractères à leur valeur en ASCII devrait suffire.
Sais-tu faire ça ?

Pour obetnir la valeur ASCII des caractères, fais un petit programme
for I=0 to 256
cells(I+1,1).value=chr(I)
next

A+





Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup








Avatar
Pounet95
Bonjour,
Une petite boucle pour scanner les caractères ascii de la chaine :
A mettre dans le module de la feuille et à adpater au besoin


Private Sub Worksheet_Change(ByVal Target As Range)
cMaj = False
For i = 1 To Len(Target)
Select Case Asc(Mid$(Target, i, 1))
Case 65 To 91 ' majuscule
cMaj = True
Case Else
'autre caractère
End Select
If cMaj = True Then
MsgBox "il y a une majuscule !"
Exit For
End If
Next i
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel.Girard" a écrit dans le message de
news: %23Y3$
Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup





Avatar
Michel.Girard
Bonsoir Pounet95
C'est très sympa de ta part de me répondre
En fait, ma question est :
y a-t-il que des majuscules dans cette cellule ?
Michel

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

Bonjour,
Une petite boucle pour scanner les caractères ascii de la chaine :
A mettre dans le module de la feuille et à adpater au besoin


Private Sub Worksheet_Change(ByVal Target As Range)
cMaj = False
For i = 1 To Len(Target)
Select Case Asc(Mid$(Target, i, 1))
Case 65 To 91 ' majuscule
cMaj = True
Case Else
'autre caractère
End Select
If cMaj = True Then
MsgBox "il y a une majuscule !"
Exit For
End If
Next i
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel.Girard" a écrit dans le message
de news: %23Y3$
Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup








Avatar
Rai
Bonsoir,

Si tu veux tester le cas où tous les caractères sont en majuscules :

If ActiveCell.Offset(0, 1) = Ucase(ActiveCell.Offset(0, 1)) then
blabla ..
Endif

Bonne soirée

Rai

Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup





Avatar
anomymousA
re,

UCASE est une méthode permettant e passer une chaine textuelle en majuscules
. Ce n'est pas une proprité que l'on peut donc lire et dont on peut se servir
de la nature pour être renseigné.
Je pense qu'effectivement il te faudra examiner chaque caractère. C'est pas
très dur ceci dit et pas très long sauf si tes cellules contiennent un volume
important de caractères et/ou qu'il ya beaucoup de cellules à tester.

A+



Bonjour anomymousA
Je pensai qqchose du genre if ""Ucase then ...
Michel

"anomymousA" a écrit dans le message
de news:
re,

pas trop le temps de tester mais un parcours de la chaine textuelle en
comparant les caractères à leur valeur en ASCII devrait suffire.
Sais-tu faire ça ?

Pour obetnir la valeur ASCII des caractères, fais un petit programme
for I=0 to 256
cells(I+1,1).value=chr(I)
next

A+





Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup













Avatar
Pounet95
Re,
dans ce cas modifier le code, en testant minuscule au lieu de majuscule :

Private Sub Worksheet_Change(ByVal Target As Range)
cMin = False
For i = 1 To Len(Target)
Select Case Asc(Mid$(Target, i, 1))
Case 97 To 122 ' majuscule
cMin = True
Case Else
'autre caractère
End Select
Next i
If cMin = False Then
MsgBox "Le texte est entièrement en majuscule !"
End If
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel.Girard" a écrit dans le message de
news:
Bonsoir Pounet95
C'est très sympa de ta part de me répondre
En fait, ma question est :
y a-t-il que des majuscules dans cette cellule ?
Michel

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

Bonjour,
Une petite boucle pour scanner les caractères ascii de la chaine :
A mettre dans le module de la feuille et à adpater au besoin


Private Sub Worksheet_Change(ByVal Target As Range)
cMaj = False
For i = 1 To Len(Target)
Select Case Asc(Mid$(Target, i, 1))
Case 65 To 91 ' majuscule
cMaj = True
Case Else
'autre caractère
End Select
If cMaj = True Then
MsgBox "il y a une majuscule !"
Exit For
End If
Next i
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel.Girard" a écrit dans le message
de news: %23Y3$
Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup












Avatar
Rai
OK, dans ce cas, adaptation de ma propositon :

For i = 1 to Len(MaChaine)
if Mid$(MaChaine,i,1)=Ucase(Mid$(MaChaine,i,1)) then
MsgBox "Ya de la Maj ici ;o))"
endif
Next i


Bonne soirée

Rai

Bonsoir Pounet95
C'est très sympa de ta part de me répondre
En fait, ma question est :
y a-t-il que des majuscules dans cette cellule ?
Michel

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


Bonjour,
Une petite boucle pour scanner les caractères ascii de la chaine :
A mettre dans le module de la feuille et à adpater au besoin


Private Sub Worksheet_Change(ByVal Target As Range)
cMaj = False
For i = 1 To Len(Target)
Select Case Asc(Mid$(Target, i, 1))
Case 65 To 91 ' majuscule
cMaj = True
Case Else
'autre caractère
End Select
If cMaj = True Then
MsgBox "il y a une majuscule !"
Exit For
End If
Next i
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel.Girard" a écrit dans le message
de news: %23Y3$

Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup












Avatar
Pounet95
Salut Rai,
c'est vrai que c'est bien plus court et surtout ça répond bien à s question.
encore une fois à côté de la plaque ....;o((((

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

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

Bonsoir,

Si tu veux tester le cas où tous les caractères sont en majuscules :

If ActiveCell.Offset(0, 1) = Ucase(ActiveCell.Offset(0, 1)) then
blabla ..
Endif

Bonne soirée

Rai

Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup






Avatar
Michel.Girard
Merci beaucoup Raimond, cela fonctionne parfaitement.
J'ai fait cela :
If ActiveCell.Offset(0, 1) = UCase(ActiveCell.Offset(0, 1)) Then
MsgBox "Majuscules"
Else
MsgBox "Maj et min"
End If
Encore merci
Michel

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

Bonsoir,

Si tu veux tester le cas où tous les caractères sont en majuscules :

If ActiveCell.Offset(0, 1) = Ucase(ActiveCell.Offset(0, 1)) then
blabla ..
Endif

Bonne soirée

Rai

Je désire écrire en VBA :
Si dans ActiveCell.Offset(0, 1) les lettres sont en majuscules, alors :
msgbox "toto"
Merci beaucoup






1 2 3