Excel et les majuscules

Résolu/Fermé
neouser Messages postés 65 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 8 juillet 2014 - 6 févr. 2009 à 12:03
neouser Messages postés 65 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 8 juillet 2014 - 16 févr. 2009 à 11:42
Bonjour,


J'aimerais savoir s'il est possible dans Excel de basculer simplement une cellule contenant du texte en minuscule en texte en majuscule (quelque chose comme dans Word avec le Shift + F3). Je sais bien que l'on ne peut pas demander à un tableur d'avoir d'avoir toutes les fonctionalités d'un traitement de texte.....
Mais qui sait ?

Merci

Cordialement
A voir également:

10 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
10 févr. 2009 à 11:54
Re,
Ca doit remplacer celle existante vu qu'il y a des modif.
Je m'apercoit que je n'ai pas repris les variables dans le code
Public AncAdd As String 
Public AncText() 

C'est à mettre au dessus des 2 procédures. (comme dans mon poste précédant.)
Tu peu garder le même raccourci pour passer en majuscule mais tu doit ajouter un raccourci pour la 2èm, celle qui remet
A+
2
neouser Messages postés 65 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 8 juillet 2014
12 févr. 2009 à 09:01
Bonjour,

Public AncAdd As String
Public AncText()

Ces deux lignes vont où ?

lorsque deux experts discutent entre eux c'est surement très interressant mais en tant que neophyte vous m'avez perdu dans les méandres des modules et procedures.

Merci

Cordialement
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
10 févr. 2009 à 13:06
Bonjour Wilfried,
Oui, mais quand ont sélectionne plusieur cellules ?

Et ça ne nous dit pas comment tu remet si erreur ?
A+
1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
6 févr. 2009 à 18:25
bonjour

Tu peux le faire avec la fonction MAJUSCULE mais sur une autre cellule et si tu veux un raccourci clavier il te faut créer une procédure, comme ceci par exemple et tu lui affectes un raccourci clavier.
Public Sub Majus()
Dim sel As Range
For Each sel In Selection
   sel.Value = UCase(sel.Value)
Next sel
End Sub

Avec le raccourci clavier, tu mets en majuscule la (ou les) cellule(s) sélectionnée(s).
0
neouser Messages postés 65 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 8 juillet 2014
9 févr. 2009 à 10:19
Bonjour,

N'étant qu'un utilisateur d'excel, je ne suis pas familiarisé avec la création de procédure. J'aurais de plus de précisions

Merci

Cordialement
0
Utilisateur anonyme
9 févr. 2009 à 13:10
Bonjour Neouser,

Alors utilise la fonction MAJUSCULE que Gbinforme t'a aussi proposée.

Si ton texte est en A1,
- en A2 =MAJUSCULE(A1)
- Tu recopies la formule sur la zone
Puis, sur cette colonne A2, tu fais un Copier/Collage spécial/Valeurs
qui te permettra de supprimer la colonne A1 dont tu n'auras plus besoin.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
9 févr. 2009 à 13:26
Bonjour,
Pour valider la procédure de GbInforme...
Tu tape Alt+F11
tu entre dans l'IDE (VBA)
Sur le menu
>> Insertion >> Module
Dans la fenêtre qui s'ouvre tu tape le code renseigner
Tu revient sur excel...
>> Outils >> Macros >> Macros
Tu sélectionne la macro en question... Majus
Tu clic sur option et tu choisi le raccourci.
A+
0
neouser Messages postés 65 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 8 juillet 2014
9 févr. 2009 à 14:25
Bonjour,

Merci pour ces explications, cela fonctionne bien.

Par contre, est ce qu'il y a un moyen d'annuler l'excécution de la Macro, si je ne l'excécute pas dans la bonne cellule ?

Merci

Cordialement
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
9 févr. 2009 à 14:47
T'est pas à moitié difficile :)
faut ajouter une procédure.. et des variables public
Public AncAdd As String
Public AncText()
Public Sub Majus()
Dim sel As Range, i As Long
    AncAdd = Selection.Address
    For Each sel In Selection
        ReDim Preserve AncText(i)
        AncText(i) = sel.Value
        sel.Value = UCase(sel.Value)
        i = i + 1
    Next sel
End Sub

Public Sub Remet()
Dim sel As Range, i As Long
    Range(AncAdd).Select
    For Each sel In Selection
        sel.Value = AncText(i)
        i = i + 1
    Next sel
End Sub

Ne peu remettre qu'à condition qu'une autre sélection n'ai pas été faite.
Mettre un autre raccourci pour la fonction Remettre.
A+
0
neouser Messages postés 65 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 8 juillet 2014
10 févr. 2009 à 11:35
Bonjour,

Cette nouvelle procedure se rajoute à la précedente ou bien la remplace ?

Cordialement
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
10 févr. 2009 à 12:53
Bonjour à tous

en laissant les habitudes
Shift + F3 transforme la cellule en majuscule

dans le Module ThisWorkbook mettre ce code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "+{F3}"
End Sub

Private Sub Workbook_Open()
    Application.OnKey "+{F3}", "Majuscule"
End Sub


dans un module standard
Sub Majuscule()
    ActiveCell = UCase(ActiveCell)
End Sub
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
10 févr. 2009 à 13:14
re:

tu as raison lermite, 3 lignes supplementaires devraient suffire

Sub Majuscule()
    Dim cel as Range
    For each cel in selection 
         cell = UCase(cell)
    Next
End Sub

voila
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
12 févr. 2009 à 10:21
Ont efface tout et on recommence...
quand le module est VIDE tu colle ce qu'il y a ci-dessous

Public AncAdd As String 
Public AncText() 

Public Sub Majus()
Dim sel As Range, i As Long
    AncAdd = Selection.Address
    For Each sel In Selection
        ReDim Preserve AncText(i)
        AncText(i) = sel.Value
        sel.Value = UCase(sel.Value)
        i = i + 1
    Next sel
End Sub

Public Sub Remet()
Dim sel As Range, i As Long
    Range(AncAdd).Select
    For Each sel In Selection
        sel.Value = AncText(i)
        i = i + 1
    Next sel
End Sub


et mettre un raccourci sur >> Majus
Et un autre sur Remet
Et rien d'autre.
A+
0
neouser Messages postés 65 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 8 juillet 2014
12 févr. 2009 à 11:45
Globalement cela fonctionne.

tel quel cela me va bien.

Mais si j'utilise la procedure "Majus" deux fois de suite (bien entendu sur 2 cellule différentes), la procedure "Remet" ne fonctionne que sur la derniere, je ne peux plus corriger la premiere.

si vous avez une solution j'en tiendrais compte sinon cela n'est pas très grave je ferais attention

Merci
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
12 févr. 2009 à 13:51
Voir poste 6
A+
0
neouser Messages postés 65 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 8 juillet 2014
16 févr. 2009 à 11:42
Bonjour,

Merci

Cordialement
0