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 :

Avoir la possibilité de saisir des caractères spéciaux dans une text-box


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut Avoir la possibilité de saisir des caractères spéciaux dans une text-box
    Bonjour à tous,

    Je souhaiterais avoir la possibilité de saisir des caractères spéciaux comme les lettres grecs (alpha, bêta...), si cela est possible, comment Faire ?


    Merci

    Cordialement

    Vincent

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    Citation Envoyé par Vincent32 Voir le message

    caractères spéciaux comme les lettres grecs (alpha, bêta...)
    salut

    ne pas faire de confusion entre "caractères spéciaux" et caractères à image générée par une autre police de caractères.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut
    Merci pour cette remarque, toutefois il me semble (et je ne suis qu'un débutant donc je peux me tromper) mais qu'il s'agit bien là de caractères spéciaux (puisqu'il existe un code ASCII (alpha 224 en code décimal))

    Enfin bref, cela ne m'informe pas quant à la possibilité d'insérer ce type de caractère par l'utilisateur via la textbox d'un userform

    Cordialement

    Vincent

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    ci dessous un code qui affichera la liste des codes ASCII latin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub ListeAscii()
     
    Dim i As Integer
     
    For i = 1 To 255
     
    Range("A" & i).Value = i
    Range("B" & i).Value = Chr(i)
     
    Next i
     
    End Sub
    Je crois que dans ton cas il faudrait utiliser la table de caractere UNICODE

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    Citation Envoyé par Vincent32 Voir le message
    Merci pour cette remarque, toutefois il me semble (et je ne suis qu'un débutant donc je peux me tromper) mais qu'il s'agit bien là de caractères spéciaux (puisqu'il existe un code ASCII (alpha 224 en code décimal))
    voilà tous les caractères ascii et leur valeur :
    http://www.toutimages.com/codes_caracteres.htm

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut
    Merci pour ton aide Jérôme,

    Cependant, comme je suis débutant, je ne sais pas comment m'y prendre. Je m'explique :
    L'utilisateur est amenée à entrer un titre dans une textbox (via un userform). Ce titre peut comporter des lettres grecs.

    Je sais très bien mettre une lettre grec lorsque je suis sous excel (importer caractère spéciaux choix de la lettre ok) mais alors en VBA c'est une autre histoire. Comment faire (comment lui dire ouvre moi la boite d'outils insérer un caractère spécial)

    Merci de ton aide

    Vincent

  7. #7
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Quelle est la méthode retenu pour la saisie d'un caractère GREC

    Une solution serait de passer la police à Symbol quand il faut saisir en GREC

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut
    Cela serait parfait !

    Cependant comment faire ? Je veux dire par là comment :

    - La personne spécifie-t-elle ce caractère dans telle police, ce caractère dans l'autre police

    - Définir une police en VBA.

    Exemple concret de titre à rentrer : Etude de la phase alpha (alpha <-en police Symbol) du fer

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    Citation Envoyé par Vincent32 Voir le message
    Cependant comment faire ? Je veux dire par là comment :

    - La personne spécifie-t-elle ce caractère dans telle police, ce caractère dans l'autre police
    Impossible dans une Textbox (une seule police pour l'ensemble de la textbox)
    Possible avec une RichTextBox (mais alors : sur un UserForm et pas sur la feuille de calcul !)

  10. #10
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut
    oulà cela m'a l'air bien compliqué !

    Commençons par le début: ou trouver une richtextbox (je sais ou trouver une "pauvre" textbox mais pas une riche !)

    Cordialement

    Vincent

    je vois une éventuelle solution qui pourrait être simple :

    créer trois textbox (toutes simples) l'une en lui spécifiant la police arial la seconde police symbol et la troisième police arial (je n'ai rarement plus d'un caractére spécial) et enfin lors de l'écriture concaténation dans une seule et même cellule mes trois textbox.

    Est ce que ça peut fonctionner?

    si oui comment dois je faire pour définir ma textbox dans un certain format de police

  11. #11
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    Citation Envoyé par Vincent32 Voir le message
    je vois une éventuelle solution qui pourrait être simple :

    créer trois textbox (toutes simples) l'une en lui spécifiant la police arial la seconde police symbol et la troisième police arial (je n'ai rarement plus d'un caractére spécial) et enfin lors de l'écriture concaténation dans une seule et même cellule mes trois textbox.

    Est ce que ça peut fonctionner?
    Bien évidemment que NON !

  12. #12
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut
    Mon probleme reste donc sans solution ?

    Si tel est le cas, merci de votre aide

    Vincent

  13. #13
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Tu peux ecrire dans une cellule avec plusieurs police en gérant l'application avec 1=un debut et une longueur


    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
        ActiveCell.FormulaR1C1 = "lettre U"
        With ActiveCell.Characters(Start:=1, Length:=7).Font
            .Name = "Arial"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        With ActiveCell.Characters(Start:=8, Length:=1).Font
            .Name = "Symbol"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        Range("G194").Select

  14. #14
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut
    Si je comprends bien ton code, il faut par avance connaitre l'emplacement de la valeur Symbol (dans l'exemple en 8 eme position) or dans mon cas il s'agit de chaines de caractères de longueur variable pouvant contenir ou non des lettres grecs. Ces lettres grecs peuvent être à n'importe quel endroit de la text box

    Vincent

  15. #15
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Rien n'est figer.

    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
    Range("A1").FormulaR1C1 = textbox1.text & textbox2.text
        With Range("A1").Characters(Start:=1, Length:=len(textbox1.text )).Font
            .Name = "Arial"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        With Range("A1").Characters(Start:=len(textbox1.text )+1, Length:=len(textbox2.text)).Font
            .Name = "Symbol"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        Range("G194").Select
    Je n'ai pas tester car tapé direct, mais c'est ce genre de code

  16. #16
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut
    Je viens de tester vite fait ça a l'air de fonctionner sans problèmes

    Merci énormément

    Bonne fin de journée

    Vincent

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

Discussions similaires

  1. Remplacer des caractères spéciaux dans une chaine
    Par enzostar dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2012, 23h16
  2. Réponses: 18
    Dernier message: 14/12/2010, 12h26
  3. [XL-2003] échappement des caractères spéciaux dans une recherche
    Par Peanut dans le forum Excel
    Réponses: 4
    Dernier message: 02/12/2010, 19h14
  4. Mettre des caractères spéciaux dans une déclaration
    Par Gunner4902 dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2008, 21h02
  5. Réponses: 10
    Dernier message: 31/03/2006, 20h46

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