begin process at 2012 02 12 11:36:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > CHANGER LA CASSE DANS LES CELLULES SELECTIONNÉES

CHANGER LA CASSE DANS LES CELLULES SELECTIONNÉES


 Information sur la source

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Niveau :Débutant Date de création :30/01/2002 Date de mise à jour :30/01/2002 08:04:15 Vu :9 747

Auteur : jeannot45

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Cette procédure permet de basculer alternativement le contenu des cellules sélectionnées, de Majuscule en Minuscule ou en Initiale Majuscule (Majuscule en début de chaque mot)
Cette procédure pourra être stockée dans le classeur de macros personnelles et rattachée à un raccourci clavier (exemple CTRL k (k comme lettre "K"apitale)) ou mieux encore convertie en macro complementaire
REMARQUE : A CE PROPOS IL EST IMPOSSIBLE DE MODIFIER UNE MACRO COMPLEMENTAIRE AUSSI N'OUBLIEZ PAS DE GARDER LE CODE SOURCE DE CELLE-CI

Source

  • Sub ConvertCasse()
  • ' Déclaration des variables
  • Dim element
  • ' Traitement de la sélection
  • For Each element In Selection
  • Select Case True
  • ' le contenu est en minuscule -> conversion en Majuscule (UCASE = Upper Case)
  • Case element.Value = LCase(element.Value)
  • element.Value = UCase(element.Value)
  • ' le contenu est en majuscule -> conversion en initiale majuscule par appel à la fonction EXCEL : "NOMPROPRE()"
  • Case element= UCase(element.Value)
  • element.Value = Application.WorksheetFunction.Proper(element.Value)
  • Case Else
  • ' le contenu n'est ni majuscule, ni minuscule -> conversion en minuscule (LCASE= Lower Case)
  • element.Value = LCase(element.Value)
  • End Select
  • Next
  • ' Ajustement automatique de la colonne
  • ActiveCell.Columns.AutoFit
  • End Sub
Sub ConvertCasse()

' Déclaration des variables

Dim element

' Traitement de la sélection

For Each element In Selection

Select Case True
' le contenu est en minuscule -> conversion en Majuscule (UCASE = Upper Case)
    Case element.Value = LCase(element.Value)
        element.Value = UCase(element.Value)
' le contenu est en majuscule -> conversion en initiale majuscule par appel à la fonction EXCEL : "NOMPROPRE()"
    Case element= UCase(element.Value)
        element.Value = Application.WorksheetFunction.Proper(element.Value)
    Case Else
' le contenu n'est ni majuscule, ni minuscule -> conversion en minuscule (LCASE= Lower Case)
        element.Value = LCase(element.Value)
    End Select

Next

' Ajustement automatique de la colonne

ActiveCell.Columns.AutoFit

End Sub
 



 Sources du même auteur

PERSONNALISER LES LABELS D'UN GRAPHIQUE EXCEL
POSITIONNER UN GRAPHIQUE DANS UNE FEUILLE DE CALCUL
RÉCUPÉRER LE NOM DU USER

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL par Le Pivert
Source avec Zip Source avec une capture JEUX DE VERITÉ ET DE FIDELITÉ par billatosco
Source avec Zip IMAGELOARDER par vkitumaini
Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN CALENDRIER DE POCHE par Le Pivert
Source avec Zip RECHERCHE D'UN ENREGISTREMENT DANS UNE DATATABLE ET POSITION... par erdna

Commentaires et avis

Commentaire de Isa45 le 30/01/2002 10:12:24

interressant !!!

Commentaire de taubalo le 22/09/2004 23:23:44

enfin ,,,,,cela fait 1 mois que je cherchais ce code et en plus il fonctionne  j'ai simplement supprimé la ligne
"ActiveCell.Columns.AutoFit"
merci encore

Commentaire de papol2 le 15/04/2008 20:55:01 7/10

Intéressant, sauf que cela ne marche pas si la cellule ne contient qu'une lettre ou des lettres unitaires séparées par des signes ou chiffres (par exemple a-b , elle(s) reste(nt) désespérément en majuscule(s), car dans ce cas il n'y apas de différence entre "tout en majuscule" et "nom propre".
Il suffit pour y remédier de changer l'ordre des comparaisons, soit :

Sub ConvertCasse()
' Déclaration des variables
    Dim element
    ' Traitement de la sélection
    For Each element In Selection
        ' Il ne faut pas modifier les cellules qui ne soient pas du texte
        If element.HasFormula = False And element.Value <> "" Then
            Select Case True
                ' le contenu est en majuscule
                ' -> conversion en minuscule (LCASE= Lower Case)
            Case element.Value = UCase(element.Value)
                element.Value = LCase(element.Value)
                ' le contenu est en minuscule -> conversion en nom propre par
                ' appel à la fonction EXCEL : "NOMPROPRE()"
            Case element = LCase(element.Value)
                element.Value = Application.WorksheetFunction.Proper(element.Value)
            Case Else
                ' le contenu n'est ni en minuscule, ni nom propre,
                ' -> conversion en majuscule (UCASE = Upper Case)
                element.Value = UCase(element.Value)
            End Select
        End If
    Next
    ' Ajustement automatique de la colonne
    ActiveCell.Columns.AutoFit
End Sub

Et hop ! ça marche. (J'ai rajouté un test pour éviter de replacer les formules par leur résultat.

Papol2

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,950 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales