Minuscules en MAJUSCULES
Bonjour,
Je souhaiterais connaitre la formule magique qui permettrait de transformer automatiquement dans toute une feuille les saisies minuscules en MAJUSCULES.
Merci pour l'aide que vous pouvez m'apporter.
Bonjour Alaleg
Voici un code à mettre dans un module de ton classeur.
Sub CelluleEnMajuscule()
Dim vCell As Range
If Selection.Cells.Count = 1 And ActiveCell <> "" Then
'Si la sélection ne comporte qu'une cellule
ActiveCell = UCase(ActiveCell)
Else
'Si la cellule est vide, Selection.SpecialCells, sélectionnera toutes les cellules de la feuille
'De cette sélection, on ne prendra que les cellules contenant que du texte
'les cellules contenant des formules, ne seront pas touchées
Selection.SpecialCells(xlCellTypeConstants, 6).Select
'pour chaque cellule de la sélection
For Each vCell In Selection
'transformation de la constante de la cellule
vCell = UCase(vCell)
Next vCell
End If
End SubLe fonctionnement dépend de la sélection avant lancement de la macro
- Si tu as qu'une seule cellule, contenant une donnée (attention, je ne vérifie pas que la valeur est de type texte ou formule), la macro n'agira que sur cette cellule
- Si tu as qu'une seule cellule qui est vide, la macro agira sur l'ensemble des cellules de la feuille, mais en utilisant le filtre qui se trouve dans le code.
- Si c'est une plage de cellules, la macro n'agira que sur la plage des cellules sélectionnées.
- Si tu as des plages de cellules discontinues, la aussi la macro n'affectera que les cellules des plages sélectionnées.
Bonne journée.
@+Jean-Marie
je viens d'essayer mais malheureusement cela ne fonctionne pas ou tout du moins c'est sans doute mais capacité qui font que j'ai peut etre mal fait la manip.
voilà ou j'ai collé ton "propramme"
Dans Microsoft Visual Basic, j'ai sélectionné Général et CelluleEnMajuscule.
Ci dessous le texte qui si trouve, mais apres l'avoir sauvegardé il ne se passe rien lorsque j'écris en minuscule et que je fais "entrée" c'est à dire que cela reste en minuscule.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Sub CelluleEnMajuscule()
Dim vCell As Range
If Selection.Cells.Count = 1 And ActiveCell <> "" Then
'Si la sélection ne comporte qu'une cellule
ActiveCell = UCase(ActiveCell)
Else
'Si la cellule est vide, Selection.SpecialCells, sélectionnera toutes les cellules de la feuille
'De cette sélection, on ne prendra que les cellules contenant que du texte
'les cellules contenant des formules, ne seront pas touchées
Selection.SpecialCells(xlCellTypeConstants, 6).Select
'pour chaque cellule de la sélection
For Each vCell In Selection
'transformation de la constante de la cellule
vCell = UCase(vCell)
Next vCell
End If
End Sub
Merci quand même pour ton aide
Re....
Les réponses indiquées sont des codes "événementiels", c'est-à-dire que le code est exécuté quand l'utilisateur fait certain chose sur la feuille excel, exemple :
- modification d'une donnée dans une cellule (Worksheet_Change)
- change de cellule (Worksheet_SelectionChange)
- quand une formule provoque (Worksheet_Calculate)
Le code que je t'ai proposé, n'en est pas un, il faut une action volontaire sur un bouton, pour pouvoir l'exécuter. De plus, j'ai considéré à l'inverse que tu avais déjà des données sur ta feuille et que tu voulais les modifiées en majuscules.
Il me semble au vu des autres fils que tu as posté ici, qu'il s'agit plus d'une feuille de saisies d'une base de données (dit moi si je me trompe), ou évidement les macros événementielles sont plus indiquées.
Sans vouloir réécrire ce que l'on fait mes copains d'XLD, je te conseille de lire attentivement leurs réponses.
Bonne fin de journée.
@+Jean-Marie
Rebonsoir à tous,
Je vais enfin vous laisser tranquille avec ce sujet, car la solution ci dessous fonctionne.
Je tiens tous à vous remercier par votre serviabilité, votre professionnalisme et surtout votre patience !!
ALALEG
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = UCase(Target.Value)
End Sub
Sub Minus()
For Each cell In Selection
cell.Value = LCase(cell.Value)
Next cell
End Sub