XL 2010 nompropre vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

matoupitou

XLDnaute Occasionnel
bonjour

peut-être que qq1 peut m'aider
j'aimerai créer un bouton dans ma barre d'outils qui me permettrait de passer au format 1ère lettre en maj de chaque mot et sinon minuscule ; écrasant les anciens texte et figeant les nouvelles valeurs
je sais que la fonction nompropre permet cela ; en enregistrant une macro je n'arrive pas à écrire que cela fonctionne pour n'importe quelle cellule. parfois ça efface

en pj un exemple avec mon texte VBA

par avance merci pour votre aide
 

Pièces jointes

re
joli!!joli!!joli!!
a la j'adore tu me fait la plage sans la matricielle
je dis respect Monsieur ++++++++++
je la met tout de suite dans mes archives
mais pourquoi j'ai pas pensé a index suis je bète
c'est un délice.... le pain d’épice de la marque bien sur 😉
 
oui dans une boucle 🙂 😉 c'est en matricielle que c'est intéressant
Une formule matricielle ? Pas sûr que ce soit bien intéressant mais bon :
VB:
Sub NomPropre()
Dim a As Range, f$, c As Range
ActiveCell.Activate 'au cas où la sélection n'est pas un Range
For Each a In Selection.Areas
    f = "=PROPER({"
    For Each c In a.Cells
        f = f & """" & c & """" & ";"
    Next c
    f = Left(f, Len(f) - 1) & "})"
    a.FormulaArray = f 'formule matricielle
Next a
End Sub
Chaque formule ne doit pas dépasser 8192 caractères...
 
Bonjour Patrick, merci pour ton suivi.
Oui, j'ai bien vu les option possibles, malheureusement "UPPER" et "LOWER" ne fonctionnent pas chez moi (Office 365 Business):
Selection.Value = Application.Upper(Selection.Value)
--> Erreur '438' Propriété ou méthode non gérée par cet objet.

Dans le doute j'ai essayé avec "Uppercase" et "vbUpperCase", mais non.... Pas de succès.
 
Bonjour Emile63, le forum,
jAu cas ou je souhaiterais tout mettre en majuscules ou minuscules, je remplace Proper par quoi ?
Sans fioriture :
VB:
Sub Majuscules()
Dim a As Range
ActiveCell.Activate 'au cas où la sélection n'est pas un Range
For Each a In Selection.Areas
    a = UCase(a)
Next
End Sub

Sub Minuscules()
Dim a As Range
ActiveCell.Activate 'au cas où la sélection n'est pas un Range
For Each a In Selection.Areas
    a = LCase(a)
Next
End Sub
Bonne journée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

C
Réponses
4
Affichages
2 K
C
Retour