Excel et les majuscules

Résolu
neouser Messages postés 65 Statut Membre -  
neouser Messages postés 65 Statut Membre -
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. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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. neouser Messages postés 65 Statut Membre
       
      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. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour Wilfried,
    Oui, mais quand ont sélectionne plusieur cellules ?

    Et ça ne nous dit pas comment tu remet si erreur ?
    A+
    1
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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. neouser Messages postés 65 Statut Membre
       
      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
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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. neouser Messages postés 65 Statut Membre
       
      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
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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. neouser Messages postés 65 Statut Membre
       
      Bonjour,

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

      Cordialement
      0
  8. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    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
  9. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    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
  10. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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. neouser Messages postés 65 Statut Membre
       
      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
  11. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Voir poste 6
    A+
    0
    1. neouser Messages postés 65 Statut Membre
       
      Bonjour,

      Merci

      Cordialement
      0