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 :

Automatiser l'encodage en majuscules [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut Automatiser l'encodage en majuscules
    Salut,

    Pour l'encodage d'une base de données dans Excel, je souhaiterais encoder tout en minuscule et faire en sorte qu'automatiquement, certaines cellules, non contigües, s'affichent en majuscule.

    Est-ce possible sans passer par la commande =MAJ?

    Merci et bonne journée

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 33
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Je vous envoie vers un lien en espérant répondre à votre question. Il s'agit d'une méthode via VBA, ici.

    Cordialement,
    Allan.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je vous remercie pour votre méthode mais je ne suis pas assez experte pour cette méthode, je ne connais VBA que de nom
    Pas de solution plus simple?
    Merci

  4. #4
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Les cellules devant être en majuscules correspondent-elles à des critères particuliers ? valeurs contenues ? position ?
    On pourrait penser à une Mise en Forme Conditionnelle.
    Cordialement
    Claude

    Re,
    Au temps pour moi !
    J'ai répondu un peu vite en parlant de MFC.
    Le format de police ne prend pas en compte les problèmes de majuscule , minuscule.
    C'aurait été bien simple.
    Ma question sur les critères reste posée.
    Cordialement
    Claude

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Bonjour Claude,

    Pas de critères particuliers, simplement de l'encodage mais en majuscule.
    Voir l'exemple dans le classeur joint pour plus de facilité
    Merci et bonne journée
    Fichiers attachés Fichiers attachés

  6. #6
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Je n'avais pas compris que toutes les lettres devaient être en majuscules (c'est le cas dans votre exemple).
    Il suffit d'effectuer la saisie avec la touche de verouillage majuscules activée (cliquer une fois dessus).
    Cette touche est à gauche du clavier, juste au dessus de la touche majuscule donc la touche à gauche de la la 3ème ligne en partant du bas.
    Elle est souvent marquée d'un petit cadenas , éventuellement de la mention CapsLock comme sur les claviers QWERTY.
    Cordialement
    Claude

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Salut Claude,

    Euh, merci ça je le savais je ne suis pas aussi débutante que ça
    Ce que j'aurai souhaité, c'est pouvoir tout encoder en minuscules et que ça se transforme en majuscule car dans mon exemple, j'ai supprimé des colonnes (pour ne pas avoir de remarques sur des colonnes vides), mais j'ai des colonnes dans lesquelles les champs doivent être en minuscules et passer de l'un à l'autre est fastidieux et risque d'erreurs

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dans la limite de mes connaissances, je ne pense pas qu'il soit possible de forcer les caractères à être en majuscule sans passer par le VBA.
    Si c'est pour un travail ponctuel, il y a bien entendu la formule MAJUSCULE qui pourrait être utilisée depuis une autre colonne et ensuite faire un Copier/Collage spécial valeur.
    Le correcteur automatique permet seulement de forcer la majuscule en début de phrase.

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Bonjour Philippe,

    Je ne connais pas VBA. Est-ce difficile?
    Si c'est pour un travail ponctuel, il y a bien entendu la formule MAJUSCULE qui pourrait être utilisée depuis une autre colonne et ensuite faire un Copier/Collage spécial valeur.
    Cette formule malheureusement ne pourra pas s'appliquer dans ce cas-ci
    Merci

  10. #10
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le VBA c'est de la programmation mais rien n'est difficile si l'on est motivé.

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Je suis motivée mais ce qui m'inquiète, c'est que je ne serai pas la seule à gérer le fichier et il ne faudrait pas que ça coince pour x raison car l'autre personne a des bases moins solides en XL.

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il est évident qu'en incluant du code VBA dans un ou des classeurs va entraîner une nouvelle habitude d'ouverture des classeurs qui contiendront du code VBA.
    Il faudra confirmer l'acceptation du code VBA lors de l'ouverture des classeurs concernés à moins d'intervenir sur les PC des utilisateurs et définir un ou des répertoires comme emplacements approuvés (à partir des versions 2007).
    De toutes manières, c'est ça ou rien.

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Si ça n'impose qu'une confirmation d'ouverture, ça ne devrait pas poser de problème... Mais ce que je voudrais savoir, c'est est-ce que ça risque de poser des problèmes pour l'encodage,...?
    De plus, j'extrais les données via des filtres élaborés (questions précédemment posée sur le forum). Risque de conflit?

  14. #14
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il n'y a aucune raison que cela pose problème pour les filtres ou autres manipulations je crois, la procédure événementielle ci-dessous n'agissant que lors de la modification d'une cellule des colonnes 1 et 4 (pour mon exemple).
    Procédé à suivre
    1) Aller dans l'éditeur VBA (Touche Alt+F11)
    2) Dans la fenêtre de l'explorateur d'objet (normalement située en haut à gauche), faire un double clic sur le nom de la feuille (par exemple Feuil1)
    Une page blanche va s'ouvrir (c'est la fenêtre du code).
    3) Dans cette nouvelel fenêtre, sélectionner WorkSheet dans la liste déroulante qui se trouve en haut à gauche.
    4) Coller le code ci-dessous.
    5) Tester dans la feuille en encodant des informations dans différentes colonnes. La valeur se transformera en majuscule si elle est en colonne 1 et 4.
    Procédure événementielle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count <> 1 Then Exit Sub
     Application.EnableEvents = False
     With Target
      Select Case .Column
       Case 1, 4 ' S'applique aux colonnes 1 & 4
        .Value = UCase(.Value)
      End Select
     End With
     Application.EnableEvents = True
    End Sub
    Il est possible aussi de prévoir cela sur plusieurs feuilles, il serait préférable alors d'utiliser la procédure événementielle Workbook_SheetChange de ThisWorkbook

    [EDIT]
    Attention, je viens de constater un bug dans le code proposé que je viens de le corriger (ligne en rouge).
    J'en profite pour publier la même procédure événementielle qui met toutes les cellules de la feuille en majuscules quelle que soit la colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count <> 1 Then Exit Sub
     Application.EnableEvents = False
     With Target: .Value = UCase(.Value): End With
     Application.EnableEvents = True
    End Sub

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Voilà, j'ai testé, ça a fonctionné dans la colonne 4 mais pas la 1? J'ai pourtant encodé de l'alpha.
    Si je souhaite appliquer ceci à d'autres colonnes, il me suffit d'ajouter les numéros des colonnes à côté des chiffres indiqués (case 1,4)? J'imagine que "s'applique aux colonnes 1 et 4" était juste une info pour moi?

  16. #16
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai pourtant testé chez moi sans aucun problème.
    Pour que cela fonctionne sur toutes les colonnes voir mon intervention précédentes où j'ai ajouté une procédure ainsi qu'une ligne à ajouter pour éviter un bug.
    Attention que le classeur doit être sauvé comme un classeur avec macro (Extension xlsm ou éventuellement xls qui est de la version 2003 )

  17. #17
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Salut,

    Première boulette, je ne savais pas qu'il fallait sauver le fichier sous .xlsm mais maintenant c'est fait

    J'ai remplacé le code par celui corrigé mais maintenant, je n'ai plus rien qui s'affiche en majuscule
    Et avec le 2ème code, pour afficher toutes les colonnes en majuscules, rien ne se passe non plus
    Ca fonctionnait mieux avant que je change l'extension du fichier, bizarre...

  18. #18
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne sais pas si on s'est bien compris.
    Le code que j'ai publié transforme la valeur de la cellule qui est modifiée lorsque l'on modifie cette valeur. Soit si son ancienne valeur est modifiée, soit si l'on entre pour la première fois une valeur dans la cellule vide.
    Il ne s'agit donc pas de transformer toutes les cellules remplies de la feuille en question. Si c'est ce que tu cherches, il faudra un autre type de procédure.

  19. #19
    Futur Membre du Club
    Femme Profil pro
    Employée technico-administrative
    Inscrit en
    Août 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employée technico-administrative
    Secteur : Service public

    Informations forums :
    Inscription : Août 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Re,

    Soit si son ancienne valeur est modifiée, soit si l'on entre pour la première fois une valeur dans la cellule vide.
    Oui oui c'est bien ça que je souhaite mais je ne vois aucune modification de la casse quand j'entre les données

  20. #20
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 974
    Points : 29 003
    Points
    29 003
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le classeur est bien sauvé avec l'extension xlsm ?
    Après avoir fermé le classeur et l'avoir rechargé, y a-t-il un message demandant de confirmer l'acceptation de la macro ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Automatisation encodage extrait bancaire
    Par husnu dans le forum Gestion de projet
    Réponses: 0
    Dernier message: 22/02/2013, 19h22
  2. [XL-2007] automatiser macro majuscule
    Par stephst84 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/05/2010, 16h22
  3. Mettre la première lettre des mots en majuscule
    Par seb.49 dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2003, 15h26
  4. [VB6] fonction d' encodage URL en VB
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2003, 12h16

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