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 :

[VBA-E] mettre en majuscule une chaine string en vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut [VBA-E] mettre en majuscule une chaine string en vba
    Bonjour, j'essai de mettre une chaine de charactere en majuscule et j'ai un petit souci,

    voila mon code VBA sous exel

    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
     
     
    With Worksheets("liste")
     
            'on attribue la civilite suivant le choix de l'utilisateur
            If obmr Then
                .Cells(i, 1) = "Mr"
            ElseIf obmme Then
                .Cells(i, 1) = "Mme"
            ElseIf obmlle Then
                .Cells(i, 1) = "Melle"
            Else
                .Cells(i, 1) = ""
            End If
     
            'on stock les données sur une feuile de calcul
            .Cells(i, 2) = UCase(UserForm4.txtnom)
            .Cells(i, 3) = UCase(UserForm4.txtprenom)
            .Cells(i, 4) = UserForm4.txtmat
            .Cells(i, 5) = UserForm4.txtcle
            .Cells(i, 6) = UserForm4.txtnni
            .Cells(i, 7) = UserForm4.txtcontrat
            .Cells(i, 8) = UserForm4.txttel
            .Cells(i, 9) = UserForm4.txtunite
        End With
    cela me renvoie un message d'erreur du type :

    erreur de compilation :

    projet ou biblihotheque introuvable


    j'ai donc esseyer ca :

    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
     
     
        With Worksheets("liste")
     
            'on attribue la civilite suivant le choix de l'utilisateur
            If obmr Then
                .Cells(i, 1) = "Mr"
            ElseIf obmme Then
                .Cells(i, 1) = "Mme"
            ElseIf obmlle Then
                .Cells(i, 1) = "Melle"
            Else
                .Cells(i, 1) = ""
            End If
     
            'on stock les données sur une feuile de calcul
            .Cells(i, 2) = StrConv(UserForm4.txtnom, vbUpperCase)
            .Cells(i, 3) = StrConv(UserForm4.txtprenom, vbProperCase)
            .Cells(i, 4) = UserForm4.txtmat
            .Cells(i, 5) = UserForm4.txtcle
            .Cells(i, 6) = UserForm4.txtnni
            .Cells(i, 7) = UserForm4.txtcontrat
            .Cells(i, 8) = UserForm4.txttel
            .Cells(i, 9) = UserForm4.txtunite
        End With
    le même message d'erreur.

    Que faire dans ce cas

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je pense que ce sont des Textbox, auquel cas c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            .Cells(i, 2) = UCase(UserForm4.txtnom.text)
            .Cells(i, 3) = UCase(UserForm4.txtprenom.text)
    A+

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut
    Merci ouskel'n'or

    ce sont effectivement des textbox, mais ta solution n'a pas foctionner je l'ai est tester avec UCase et , strconv mais toujour mon message d'erreur, de plus .text n'apparait pas en bleu (bizare ca). une autre idée peu etre

    Merci.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    En effet, tu écris
    With Worksheets("liste")
    Ton userform n'est pas dans la liste.
    C'est quoi cette liste ?

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut
    With Worksheets("liste")
    liste est une feuille ecxel ou j'envoie les info pour les stocker.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Alors instancie ta feuille et utilise l'instance
    Set Fl = Worksheets("liste")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            'on attribue la civilite suivant le choix de l'utilisateur
            If obmr Then
                Fl.Cells(i, 1) = "Mr"
            ElseIf obmme Then
                Fl.Cells(i, 1) = "Mme"
            ElseIf obmlle Then
                Fl.Cells(i, 1) = "Melle"
            Else
                Fl.Cells(i, 1) = ""
            End If
    Si tu fais With... et qu'ensuite tu mets un objet (ici l'userform) VBA considère qu'il fait partie de l'objet dans lequel tu l'as placé (ici la feuille)
    A+

Discussions similaires

  1. [VBA-E] Mettre en gras une partie du texte d'une cellule
    Par clochardevobsy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/05/2006, 16h25
  2. [debutant] Concatenation d'une chaine (string) et d'entiers
    Par websurfeur dans le forum Débuter
    Réponses: 2
    Dernier message: 26/03/2006, 11h05
  3. disparition des accents dans une chaine string
    Par marco62118 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/03/2006, 00h19
  4. [VBA-E] un msgbox demandant une chaine à l'utilisateur
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/03/2006, 23h31
  5. Réponses: 2
    Dernier message: 13/10/2005, 17h46

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