IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Transformer minuscule en majuscule [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 148
    Par défaut Transformer minuscule en majuscule
    Bonjour

    J'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Private Sub Worksheet_Change(ByVal Target As Range)
     
     
     
    Application.ScreenUpdating = False
     
     
    If Intersect(Target, [$F$4:$AJ$13]) Is Nothing Then Exit Sub
     
        For Each cel In Target
     
            Set Cel_R = Sheets("Légende").[$A$2:$A$10].Find(cel, LookIn:=xlValues, LookAt:=xlWhole)
     
                If Cel_R Is Nothing Then
                    cel.Interior.Color = xlNone
     
                Else
            cel.Interior.Color = Cel_R.Interior.Color
            cel.Font.Color = Cel_R.Font.Color
            cel.Font.Bold = Cel_R.Font.Bold
     
            Application.EnableEvents = False
            Target = UCase(Target)
            Application.EnableEvents = True
     
                End If
     
        Next cel
     
     
    Application.ScreenUpdating = True ' Remet le comportement initial
     
     
    End Sub

    le code marche très bien sans la partie suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.EnableEvents = False
            Target = UCase(Target)
            Application.EnableEvents = True
    Voilà mon problème si je tape la lettre en minuscule effectivement elle se transforme en majuscule. Par contre si je fais un copier collage spécial valeur (pour mettre la même chose sur plusieurs cases), j'ai une erreur qui se produit.

    J'ai mis un fichier en exemple.
    Merci de votre aide

    Bonne journée

    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    quelle est l'utilité de faire un copier collé par valeur?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("H19:H30") = Range("A19").Value

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour,

    Je pense qu'en cas de copy/paste, target définit un range de plusieurs cellules, donc il faudrait modifier votre code comme:

    Ahh, Robert, le 'Lucky Luke' du forum, a encore dégainé encore plus vite que moi ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cel.Value = UCase(cel.Value) 'Target = UCase(Target)

  4. #4
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 148
    Par défaut
    Bonjour

    Merci pour vos réponses

    L'utilité de faire un copier coller valeur permet de ne pas modifier le type de bordure....

    Le code marche en faisant le copier collé valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cel.Value = UCase(cel.Value) 'Target = UCase(Target)
    Pr contre il me marque que quand je colle le 0.5 il m'a changé la mise en forme. Il marque "nombre stocké sous forme de texte".
    J'ai pas mis tout mon fichier mais après il me calcule des formules avec les lettres et les chiffres donc je ne veux pas que ça me pose de problème.

    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    tu fais un collé par valeur, je voie pas ce que vienne faire le bordures! ce que j'ai fait ne modifie pas les bordures et c'est la même chose!

  6. #6
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 148
    Par défaut
    Moi quand je fais un copier coller simple les bordures sont modifié alors que si je fais un copier coller valeur les bordures ne sont pas impactées

  7. #7
    Invité
    Invité(e)
    Par défaut
    on est parfaitement accord! quand je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("A1:A10")=range("B1").Value
    je me concentre sur Value (Valeur) pas sur les bordure. c'est toi qui voies!

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par bbcancer Voir le message
    Bonjour
    Voilà mon problème si je tape la lettre en minuscule effectivement elle se transforme en majuscule. Par contre si je fais un copier collage spécial valeur (pour mettre la même chose sur plusieurs cases), j'ai une erreur qui se produit.

    J'ai mis un fichier en exemple.
    Merci de votre aide

    Bonne journée

    Cordialement

  9. #9
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 148
    Par défaut
    j'ai toujours un problème bordure en faisant un copier collage spécial sans mettre en majuscule.

    Pour résumer ce que je cherche c'est en effectuant un copier collage valeur, que la macro que j'ai mise pour transformer d’office en majuscule, ne plante pas...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transformation des minuscules en majuscules
    Par maelarael dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 22/02/2013, 15h51
  2. Transformer la saisie majuscule en minuscule
    Par piloo2011 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/08/2011, 14h06
  3. Transformer des minuscules en majuscules
    Par qqoos dans le forum Cobol
    Réponses: 2
    Dernier message: 05/09/2008, 10h21
  4. Transformer du minuscule en MAJUSCULE
    Par moilou2 dans le forum IHM
    Réponses: 2
    Dernier message: 01/07/2008, 19h38
  5. Transformer une lettre minuscule en majuscule
    Par Invité dans le forum Pascal
    Réponses: 16
    Dernier message: 13/01/2008, 09h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo