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
Michel.Girard
Merci beaucoup Pounet95
Je garde précieusement ta proc
Michel

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

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
Michel.Girard
Ok merci beaucoup
Michel

"anomymousA" a écrit dans le message
de news:
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, .... pour rire
Ce n'est pas parce qu'il n'y a pas que des majuscules, qu'il y a des
majuscules et des minuscules !
Quelle différence entre 0 et 0, entre ( et ), etc. Tout ça pour dire : et
les autres caractères ?

--
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:
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









Avatar
Rai
;o))

If ActiveCell.Offset(0, 1) = UCase(ActiveCell.Offset(0, 1)) Then
MsgBox "Majuscules"
Else
If ActiveCell.Offset(0, 1) = LCase(ActiveCell.Offset(0, 1)) Then
MsgBox "Que des minuscules"
Else
MsgBox "Maj et min"
End If
End If

Re, .... pour rire
Ce n'est pas parce qu'il n'y a pas que des majuscules, qu'il y a des
majuscules et des minuscules !
Quelle différence entre 0 et 0, entre ( et ), etc. Tout ça pour dire :
et les autres caractères ?



Avatar
Michel.Girard
Bonsoir Pounet95
Voilà mon sujet :
J'ai un Userform dans lequel j'ai entre autres un textbox1 Nom et un
Textbox 2 Prénom., mais il faut que je puisse rentrer un nom de société dans
le textbox1 de temps en temps.
Dans les "change", j'ai Textbox1=Ucase(Texbox1) et Textbox2=Lcase(Textbox2)
Lorsque je veux modifier qqchose dans mon Userform Initialize, j'ai :

If ActiveCell.Offset(0, 1) = UCase(ActiveCell.Offset(0, 1)) Then
ActiveCell.Offset(0, 1) = TextBox1
Label4.Visible = True
Label4.Caption = " Raison sociale"
TextBox1.Visible = True
TextBox2.Visible = False
Label28.Visible = False
OptionButton4 = True
Else
'Raison sociale
Label4.Visible = True
Label4.Caption = "Nom et prénom"
Label27.Visible = True
Label28.Visible = True
TextBox1.Visible = True
TextBox2.Visible = True
OptionButton3 = True
initial = ActiveCell.Offset(0, 1)
For I = 1 To Len(initial)
If Mid(initial, I, 1) <> UCase(Mid(initial, I, 1)) Then
TextBox2 = Right(initial, Len(initial) - I + 1)
TextBox1 = Left(initial, I - 2)
Exit For
End If
Next I
End If
Cela fonctionne très bien, même avec des chiffres dans le nom de la société
Qu'en penses-tu ?
Michel




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

Re, .... pour rire
Ce n'est pas parce qu'il n'y a pas que des majuscules, qu'il y a des
majuscules et des minuscules !
Quelle différence entre 0 et 0, entre ( et ), etc. Tout ça pour dire : et
les autres caractères ?

--
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:
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












Avatar
Michel.Girard
Oups :

If ActiveCell.Offset(0, 1) = UCase(ActiveCell.Offset(0, 1)) Then
TextBox1 = ActiveCell.Offset(0, 1)
Le lecteur aura bien compris ;-)
Michel

"Michel.Girard" a écrit dans le message de
news: %
Bonsoir Pounet95
Voilà mon sujet :
J'ai un Userform dans lequel j'ai entre autres un textbox1 Nom et un
Textbox 2 Prénom., mais il faut que je puisse rentrer un nom de société
dans le textbox1 de temps en temps.
Dans les "change", j'ai Textbox1=Ucase(Texbox1) et
Textbox2=Lcase(Textbox2)
Lorsque je veux modifier qqchose dans mon Userform Initialize, j'ai :

If ActiveCell.Offset(0, 1) = UCase(ActiveCell.Offset(0, 1)) Then
ActiveCell.Offset(0, 1) = TextBox1
Label4.Visible = True
Label4.Caption = " Raison sociale"
TextBox1.Visible = True
TextBox2.Visible = False
Label28.Visible = False
OptionButton4 = True
Else
'Raison sociale
Label4.Visible = True
Label4.Caption = "Nom et prénom"
Label27.Visible = True
Label28.Visible = True
TextBox1.Visible = True
TextBox2.Visible = True
OptionButton3 = True
initial = ActiveCell.Offset(0, 1)
For I = 1 To Len(initial)
If Mid(initial, I, 1) <> UCase(Mid(initial, I, 1)) Then
TextBox2 = Right(initial, Len(initial) - I + 1)
TextBox1 = Left(initial, I - 2)
Exit For
End If
Next I
End If
Cela fonctionne très bien, même avec des chiffres dans le nom de la
société
Qu'en penses-tu ?
Michel




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

Re, .... pour rire
Ce n'est pas parce qu'il n'y a pas que des majuscules, qu'il y a des
majuscules et des minuscules !
Quelle différence entre 0 et 0, entre ( et ), etc. Tout ça pour dire :
et les autres caractères ?

--
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:
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
















Avatar
Pounet95
Re Bonsoir,
Je n'ai pas testé. Juste pour confirmer que mon dernier message était
juste pour taquiner et je crois qu'il faut profiter de rire quand on peut
car
je viens de lire que l'acteur jacques Villeret est décédé ce jour à 53 ans.
Et comme c'est mon âge, j'ai d'autant plus de peine. :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...)

"Michel.Girard" a écrit dans le message de
news: %
Bonsoir Pounet95
Voilà mon sujet :
J'ai un Userform dans lequel j'ai entre autres un textbox1 Nom et un
Textbox 2 Prénom., mais il faut que je puisse rentrer un nom de société
dans le textbox1 de temps en temps.
Dans les "change", j'ai Textbox1=Ucase(Texbox1) et
Textbox2=Lcase(Textbox2)
Lorsque je veux modifier qqchose dans mon Userform Initialize, j'ai :

If ActiveCell.Offset(0, 1) = UCase(ActiveCell.Offset(0, 1)) Then
ActiveCell.Offset(0, 1) = TextBox1
Label4.Visible = True
Label4.Caption = " Raison sociale"
TextBox1.Visible = True
TextBox2.Visible = False
Label28.Visible = False
OptionButton4 = True
Else
'Raison sociale
Label4.Visible = True
Label4.Caption = "Nom et prénom"
Label27.Visible = True
Label28.Visible = True
TextBox1.Visible = True
TextBox2.Visible = True
OptionButton3 = True
initial = ActiveCell.Offset(0, 1)
For I = 1 To Len(initial)
If Mid(initial, I, 1) <> UCase(Mid(initial, I, 1)) Then
TextBox2 = Right(initial, Len(initial) - I + 1)
TextBox1 = Left(initial, I - 2)
Exit For
End If
Next I
End If
Cela fonctionne très bien, même avec des chiffres dans le nom de la
société
Qu'en penses-tu ?
Michel




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

Re, .... pour rire
Ce n'est pas parce qu'il n'y a pas que des majuscules, qu'il y a des
majuscules et des minuscules !
Quelle différence entre 0 et 0, entre ( et ), etc. Tout ça pour dire :
et les autres caractères ?

--
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:
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
















Avatar
Michel.Girard
Désolé, mais j'avais bien compris que c'était pour rire ;-)
C'est vrai on perd un grand !
Bonne soirée et merci
Michel

"Pounet95" a écrit dans le message de news:
%
Re Bonsoir,
Je n'ai pas testé. Juste pour confirmer que mon dernier message était
juste pour taquiner et je crois qu'il faut profiter de rire quand on peut
car
je viens de lire que l'acteur jacques Villeret est décédé ce jour à 53
ans.
Et comme c'est mon âge, j'ai d'autant plus de peine. :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...)

"Michel.Girard" a écrit dans le message
de news: %
Bonsoir Pounet95
Voilà mon sujet :
J'ai un Userform dans lequel j'ai entre autres un textbox1 Nom et un
Textbox 2 Prénom., mais il faut que je puisse rentrer un nom de société
dans le textbox1 de temps en temps.
Dans les "change", j'ai Textbox1=Ucase(Texbox1) et
Textbox2=Lcase(Textbox2)
Lorsque je veux modifier qqchose dans mon Userform Initialize, j'ai :

If ActiveCell.Offset(0, 1) = UCase(ActiveCell.Offset(0, 1)) Then
ActiveCell.Offset(0, 1) = TextBox1
Label4.Visible = True
Label4.Caption = " Raison sociale"
TextBox1.Visible = True
TextBox2.Visible = False
Label28.Visible = False
OptionButton4 = True
Else
'Raison sociale
Label4.Visible = True
Label4.Caption = "Nom et prénom"
Label27.Visible = True
Label28.Visible = True
TextBox1.Visible = True
TextBox2.Visible = True
OptionButton3 = True
initial = ActiveCell.Offset(0, 1)
For I = 1 To Len(initial)
If Mid(initial, I, 1) <> UCase(Mid(initial, I, 1)) Then
TextBox2 = Right(initial, Len(initial) - I + 1)
TextBox1 = Left(initial, I - 2)
Exit For
End If
Next I
End If
Cela fonctionne très bien, même avec des chiffres dans le nom de la
société
Qu'en penses-tu ?
Michel




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

Re, .... pour rire
Ce n'est pas parce qu'il n'y a pas que des majuscules, qu'il y a des
majuscules et des minuscules !
Quelle différence entre 0 et 0, entre ( et ), etc. Tout ça pour dire :
et les autres caractères ?

--
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:
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



















Avatar
Corona
Bonsoir Michel,
Voici le code d'une fonction qui te renvoie "Vrai" si "tout est
majuscule " et "Faux" s'il y a au moins une minuscule.
Philippe

Function TestMaj(Nom As String) As Boolean
Count = Len(Nom): TestMaj = True
For x = 1 To Count
Select Case Asc(Mid(Nom, x, 1))
Case 65 To 90, 32
Case Else
TestMaj = False: Exit Function
End Select
Next
End Function

Sub Test()
If TestMaj("CECI EST EN MAJUSCULE ") Then MsgBox ("Tout est en majuscule")
Else MsgBox "Il y a au moins une minuscule"
End Sub


"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
Corona
Bonsoir Michel,
Voici le code d'une fonction qui te renvoie "Vrai" si "tout est
majuscule " et "Faux" s'il y a au moins une minuscule.
Philippe

Function TestMaj(Nom As String) As Boolean
Count = Len(Nom): TestMaj = True
For x = 1 To Count
Select Case Asc(Mid(Nom, x, 1))
Case 65 To 90, 32
Case Else
TestMaj = False: Exit Function
End Select
Next
End Function

Sub Test()
If TestMaj("CECI EST EN MAJUSCULE ") Then MsgBox ("Tout est en majuscule")
Else MsgBox "Il y a au moins une minuscule"
End Sub


"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





1 2 3