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

    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
  3. 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
        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
          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