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 :

Cellule saisie mise en majuscule après validation [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Cellule saisie mise en majuscule après validation
    Bonjour,

    Je voudrai savoir comment on peut modifier une cellule mise en minuscule par une majuscule, toute la cellule, maxi 2 lettres à l'aide de Vba ?
    Dans la colonne G de mon fichier je saisie une lettre, P par exemple, si elle est saisie en minuscule, alors au changement de cellule elle doit passer en majuscule.

    Savez-vous où se trouve la boîte à outils dans Excel 2007 (pas celle de Vba) c'est pour insérer un bouton sur la feuille de calcul.
    Merci par avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    dans l'événement change de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_Change(ByVal Target As Range)
    'si tu veux limiter la modification à une ou plusieurs cellule
    'voir une plage
    'If Not Intersect(Target, Range("A2:G12")) Is Nothing Then
     
    Target = UCase(Target.Value)
     
    'End If
    End Sub
    pour la 2eme question je suis désolé je n'est pas xl2007

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 322
    Par défaut
    bonsoir,

    Pour afficher la boîte à outils "Formulaires", ou "Contrôles", tu fais :

    Clic sur le bouton Office, en haut à gauche

    "Options Excel", en bas à droite

    dans le menu "Standard", coche "Afficher l'onglet Développeur dans le ruban"

    "OK"

    Dans l'onglet Développeur, tu cliques sur "Insérer", tu as accès aux deux boîtes

    Bonne soirée

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour zyhac,

    ça fonctionne bien, par contre j'ai un message d'erreur lorsque j'efface la sélection

    merci mapeh et bonne soirée également

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    il est vrai que s'il y a plus d'une cellule de selectionné il y a une erreur

    a modifier par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Target.Count = 1 Then Target = UCase(Target.Value)

  6. #6
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Voici mon code. Maintenant il ne veut plus mettre en majuscule ?????

    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 Not Intersect(Target, Range("G4:G500")) Is Nothing Then
    If Target.Count = 1 Then Target = UCase(Target.Value)
    End If
    End Sub

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Excuse moi mais j'ai fais 2 erreurs dont une qui tournait en rond

    je viens de le tester dans tous les sens et il fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 And Not Intersect(Target, Range("G4:G500")) Is Nothing Then
      If Target <> UCase(Target) Then Target = UCase(Target.Value)
    End If
    End Sub

  8. #8
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Je ferai ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 Then
        Application.EnableEvents = False
        Target.Value = UCase(Target.Value)
        Application.EnableEvents = True
    End If
    End Sub

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/06/2010, 08h58
  2. Msgbox après validation cellule
    Par spud96 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/04/2009, 10h08
  3. Formulaire : mise en page après validation
    Par loucy dans le forum Langage
    Réponses: 10
    Dernier message: 13/03/2009, 16h42
  4. Réponses: 13
    Dernier message: 04/04/2007, 02h37
  5. executer une macro apres validation d'une cellule
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2007, 20h20

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