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 :

Simplifier mon code "Majuscule/Minuscule"


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 59
    Points : 19
    Points
    19
    Par défaut Simplifier mon code "Majuscule/Minuscule"
    Bonjour ! ou re-Bonjour !!! lol

    J'ai trouvé ce code (Ci-joint en dessous) sur un forum, il fonctionne mais je voudrais savoir si il n'y as pas moyen de le simplifier.

    D'autre part, je souhaiterais plutôt utiliser un "iLastRow" car ce traitement actuel prend plus de temps !

    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
     Sub Majuscule()
     
    'déclarations des variables
    Dim Valeur As String
    Dim Plage, Cellule As Range
     
    Set Plage = Range("A1:A15000") 'Colonne concernant les noms
     
    For Each Cellule In Plage
    Valeur = Mid(Cellule.Value, 2)
    Valeur = LCase(Valeur)
    Valeur = UCase(Mid(Cellule.Value, 1, 10))
    Cellule.Value = Valeur
    Next Cellule
     
    End Sub
     
    Sub Minuscule()
     
    'Déclaration des variables
    Dim Valeur As String
    Dim Plage, Cellule As Range
     
    Set Plage = Range("B1:B15000") 'Colonne concernant les prénoms
     
    For Each Cellule In Plage
    Valeur = Mid(Cellule.Value, 2)
    Valeur = LCase(Valeur)
    Valeur = UCase(Mid(Cellule.Value, 1, 1)) & Valeur
    Cellule.Value = Valeur
    Next Cellule
     
    End Sub
    *----------------------------------*
    Je vous remercie
    Bonne aprés-midi !!

  2. #2
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour,
    est ce que c'est ce que tu cherches
    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
    Option Explicit
    'déclarations des variables
    Dim Plage As Range, Cellule As Range
    Dim lngDerli As Long
    Sub Majuscule()
     
    lngDerli = Columns("A").Find("*", , , , , xlPrevious).Row
     
    Set Plage = Range("A1:A" & lngDerli) 'Colonne concernant les noms
     
    For Each Cellule In Plage
       Cellule.Value = UCase(Cellule.Value)
    Next Cellule
     
    End Sub
     
    Sub Minuscule()
     
    lngDerli = Columns("B").Find("*", , , , , xlPrevious).Row
     
    Set Plage = Range("B1:B" & lngDerli) 'Colonne concernant les prénoms
     
    For Each Cellule In Plage
       Cellule.Value = Application.Proper(Cellule.Value)
    Next Cellule
     
    End Sub
    cordialement

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    Merci "fred65200"

    C'est exactement ce que je recherchée !!!

    Merci 1.000 fois



  4. #4
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    re

    juste pour info dans le code que tu nous a présenté

    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
    Sub Majuscule()
     
    'déclarations des variables
    Dim Valeur As String
    Sur la ligne ci-dessous, Plage est initialisé comme variant et non comme range
    Dim Plage, Cellule As Range
     
    Set Plage = Range("A1:A15000") 'Colonne concernant les noms
     
    For Each Cellule In Plage
    'Par exemple Cellule = duPontDubois
    Valeur = Mid(Cellule.Value, 2) '--> Valeur = uPontDubois
    Valeur = LCase(Valeur)  '--> Valeur = upontdubois
    Valeur = UCase(Mid(Cellule.Value, 1, 10))  '  --> Valeur = DUPONTDUBOis, si plus de 10 caractères, ils ne sont pas modifiés
    Cellule.Value = Valeur
    Next Cellule
     
    End Sub

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    ha ok !! c'est gentil de ta part ta remarque mais je me suis inspirée de ton code car en plus il me mets les premières lettres des prénoms composés en majuscule !!

    Exemple : "Jean-Pierre" alors que mon code ne fesait que "Jean-pierre" !!

    Merci de m'avoir aidé !!

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

Discussions similaires

  1. [XL-2007] Simplifier mon code ?
    Par hdisnice dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/06/2011, 08h44
  2. Comment pourrais-je simplifier mon code
    Par pierrot10 dans le forum jQuery
    Réponses: 1
    Dernier message: 28/08/2010, 09h30
  3. Simplifier mon code
    Par pierre987321 dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2010, 12h49

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