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

fonction (proper-upper)

19 réponses
Avatar
andre
Bonjour,
Je reviens vers les specialistes
car j'ai vraiment besoin de savoir
j'ai une macro qui fonctionne ( nom propre - majuscule )
Sub Maj_Npropre()

For Each x In Range("C2:C1000")

x.Value = Application.Proper(x.Value)
Next
For Each x In Range("B2:B4100")

x.Value = UCase(x.Value)
Next
End Sub 'Le Pc rame un peu
je voudrais passer ses procedures dans le code des textbox respectifs
Private Sub nom_Change()
End Sub
Private Sub Prenom_Change()
End Sub etc.....
et la je galere un peu
il reconnait la fonction upper que j'utilise mais pas la proper
merci de votre coup de main car la boite d'aspirine est vide
et aussi: si j'ai une adresse ex: 23 ave de gen leclcerc
comment faire pour avoir les maj au debut des noms
merci

--
andre

9 réponses

1 2
Avatar
MichDenis
| Application.WorksheetFunction.UPPER(ActiveCell.Offset(0, 1).Value)

à quel endroit as-tu trouvé cette fonction "UPPER" en vba ?

La fonction s'appelle UCase() tout seul !




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

andre à dit
ca marche pour le nom propre (PROPER) :-)
mais pas pour majuscule (UPPER) :-(
en plus le format telephone ne passe plus maintenant bizarre >:|

[A5000].End(xlUp).Offset(1, 1).Select
ActiveCell.Offset(0, -1) = ActiveCell.Offset(-1, -1) + 1
ActiveCell.Offset(0, 0).Value = Me.nom
ActiveCell.Offset(0, 0).Value = Application.WorksheetFunction.Proper(ActiveCell.Offset(0,
0).Value)
ActiveCell.Offset(0, 1).Value = Me.Prenom
ActiveCell.Offset(0, 1).Value = Application.WorksheetFunction.UPPER(ActiveCell.Offset(0,
1).Value)
ActiveCell.Offset(0, 2).Value = Me.Adresse
ActiveCell.Offset(0, 3).Value = Me.Ville
ActiveCell.Offset(0, 6).Value = Me.Telephone
Range("H4:H450").NumberFormat = "0#"" ""##"" ""##"" ""##"" ""##"

nom.Value = ""
Prenom.Value = ""
Adresse.Value = ""
Ville.Value = "xxxxxxx"
Telephone.Value = ""
End Sub

Private Sub Telephone_Change()
Telephone.Value = Format(Telephone.Value, "0#"" ""##"" ""##"" ""##"" ""##")
End Sub

--
andre
Avatar
andre
andre à dit
Application.WorksheetFunction.UPPER(ActiveCell.Offset(0, 1).Value)


à quel endroit as-tu trouvé cette fonction "UPPER" en vba ?

La fonction s'appelle UCase() tout seul !
dans l'aide en ligne

proper
upper
lower

--
andre


Avatar
andre
andre à dit
Application.WorksheetFunction.UPPER(ActiveCell.Offset(0, 1).Value)


à quel endroit as-tu trouvé cette fonction "UPPER" en vba ?

La fonction s'appelle UCase() tout seul !
http://support.microsoft.com/kb/107139/fr


--
andre


Avatar
MichDenis
à ton adresse, il y avait cette procédure :

OK, le nom de la procédure s'appelle UpperMonth()
mais le nom d'une procédure n'est pas une fonction...
dans cette même procédure, elle utilise Ucase() pour
mettre en majuscule : Observe cette ligne :
Cell.Value = UCase(Format(Cell.Value, "mmm"))

Et pour ton information : Cell est une variable de type Range
elle représente dans la boucle chacune des cellules à tour de
rôle.... Mais UPPER n'est pas une fonction de VBA.


.---------------------------------------
Sub UpperMonth()
Dim Cell As Object 'Declare the Cell variable.
For Each Cell In Selection
' If the cell is blank or a text string, then
' skip to the next cell in the selection.
If Cell.Value <> "" And Val(Cell.Value) > 0 Then
'Format the cell as text in a 'mmm' number format,
'and change it to uppercase.
Cell.Value = UCase(Format(Cell.Value, "mmm"))
End If
Next
End Sub
.---------------------------------------



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

andre à dit
Application.WorksheetFunction.UPPER(ActiveCell.Offset(0, 1).Value)


à quel endroit as-tu trouvé cette fonction "UPPER" en vba ?

La fonction s'appelle UCase() tout seul !
http://support.microsoft.com/kb/107139/fr


--
andre


Avatar
andre
bonjour michdenis
beaucoup d'explication
merci grace a vous je m'en sors tous les jours un peu plus
les fonctions upper lower doivent bien exister
car lorsque l'on utilise l'enregistreur de macro elles apparaissent
bonne journee

--
andre
Avatar
AV
UPPER est la traduction de la fonction de feuille de calcul MAJUSCULE
Il faut donc (en vba) l'utiliser comme telle (fonction Evaluate) :

Soit, s'il s'agit d'une référence plage :
MsgBox Evaluate("UPPER(A1)")
MsgBox [UPPER(A1)]

Soit, s'il s'agit d'intégrer une variable sous forme de chaîne, en doublant les
guillemets :
x = "nafnaf"
MsgBox Evaluate("UPPER(""" & x & """)")

Moralité : préférer (comme dit précédemment) la fonction vba Ucase !
AV
Avatar
MichDenis
| UPPER est la traduction de la fonction de feuille de calcul MAJUSCULE
| Il faut donc (en vba) l'utiliser comme telle (fonction Evaluate)

Tu as ça sur une version française d'excel ? C'est autre chose si le
Monsieur travaille à partir d'une version Anglaise...mais ça, je ne
l'ai pas vu dans ces messages !




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

UPPER est la traduction de la fonction de feuille de calcul MAJUSCULE
Il faut donc (en vba) l'utiliser comme telle (fonction Evaluate) :

Soit, s'il s'agit d'une référence plage :
MsgBox Evaluate("UPPER(A1)")
MsgBox [UPPER(A1)]

Soit, s'il s'agit d'intégrer une variable sous forme de chaîne, en doublant les
guillemets :
x = "nafnaf"
MsgBox Evaluate("UPPER(""" & x & """)")

Moralité : préférer (comme dit précédemment) la fonction vba Ucase !
AV
Avatar
AV
| UPPER est la traduction de la fonction de feuille de calcul MAJUSCULE
| Il faut donc (en vba) l'utiliser comme telle (fonction Evaluate)

Tu as ça sur une version française d'excel ?


Oui (UPPER, LOWER) sur version française.
Par contre la fonction étant absente dans l'objet conteneur "WorksheetFunction"
(Application), elle est seulement utilisable par Evaluate

C'est autre chose si le Monsieur travaille à partir d'une version
Anglaise...mais ça, je ne
l'ai pas vu dans ces messages !


Jokker pour savoir ce qu'il en est sur une version anglaise...
J'ai pas ça en magasin...

AV

Avatar
MichDenis
Bon, mon Excel vient de s'enrichir de 2 autres fonctions...!
;-)

Merci pour l'info.

"AV" a écrit dans le message de news:
%
| UPPER est la traduction de la fonction de feuille de calcul MAJUSCULE
| Il faut donc (en vba) l'utiliser comme telle (fonction Evaluate)

Tu as ça sur une version française d'excel ?


Oui (UPPER, LOWER) sur version française.
Par contre la fonction étant absente dans l'objet conteneur "WorksheetFunction"
(Application), elle est seulement utilisable par Evaluate

C'est autre chose si le Monsieur travaille à partir d'une version
Anglaise...mais ça, je ne
l'ai pas vu dans ces messages !


Jokker pour savoir ce qu'il en est sur une version anglaise...
J'ai pas ça en magasin...

AV

1 2