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

      Merci

      Cordialement
      0
  3. 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
  4. 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
      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 à 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
          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
        2. 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
        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

            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