Excel et les majuscules

Résolu
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
Configuration: Windows XP
Firefox 2.0.0.20

10 réponses

  1. Contributeur
    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
    1. 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
  2. Contributeur
    Bonjour Wilfried,
    Oui, mais quand ont sélectionne plusieur cellules ?

    Et ça ne nous dit pas comment tu remet si erreur ?
    A+
    1
    1. Contributeur
      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
      1. 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
    2. 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
      1. Contributeur
        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
        1. 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
      2. Contributeur
        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
        1. Bonjour,

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

          Cordialement
          0
      3. Contributeur
        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
        1. Contributeur
          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
          1. Contributeur
            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
            1. 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
          2. Contributeur
            Voir poste 6
            A+
            0
            1. Bonjour,

              Merci

              Cordialement
              0