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 :

Ecrire, sauvegarder textbox avec des indices/exposants [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Ecrire, sauvegarder textbox avec des indices/exposants
    bonsoir le forum,

    je vais devoir écrire des formules chimiques avec leurs indices type H2O

    La saisie se fait depuis une "UserForm", comment ?
    et je compte transcrire le résultat une cellule Excel qui sera imprimée.

    Je ne trouve plus de controle "RichTextBox" avec office 2007.

    Comment dois-je m'y prendre ?

    MErci.

    ESVBA

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    A première vue, il est supprimé et si on arrive à bricoler, dangereux pour la maintenance et la pérennité...

    voir ces liens...

    http://www.developpez.net/forums/d27...e-richtextbox/

    http://support.microsoft.com/kb/838010

    Vois sinon si des caractères spéciaux peuvent être utiles ?

    http://alis.isoc.org/codage/iso10646/index.html

    cordialement,

    Didier

  3. #3
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut bonsoir à tous,
    merci ormonth.
    C'est ce que j'avais lu.


    aucun moyen simple proposé par microsoft depuis ces années ?


    Ou faire du HTML et l'affichage dans un contrôle Webrowser ?

    Je n'ai aucune idée de l'interface :
    • Il faut un bouton par mise en forme du texte sélectionné
    • il faut pour mettre les balises dans la textbox
    • Ecrire les changements dans un fichier HTML
    • Afficher sur le côté dans le controle WebBrowser le fichier HTML enregistré
    • Transcrire les balises en code caractères spéciaux dans les cellules Excel


    C'est lourd.

    ESVBA

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    jamais eu à utiliser en VBA, les gens que je connais fonctionnaient avec matlab...

    ce que tu veux utiliser dépend d'une police (ou des) ou est très spécifique ?

    quels genre de choses as-tu à saisir ?

    cordialement,

    Didier

  5. #5
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut bonjour Ormonth, le forum
    rien de très spécifique.

    Je souhaite afficher directement la mise en forme pour éviter les erreurs de saisie.


    La saisie restera simple :
    KMO4
    CH3COCOOH
    (CH3)2O2
    CH3-C6H4-CH3, C8H10 <- 2 chiffres
    Mn2+ <-Exposant
    Fe3+ <-Exposant
    C16H34S2O3Cl
    Cr2O72- <- Cr(2indice) O(7indice) 2-(exposant)



    Je souhaite faire un "truc" comme cette boite de saisie de texte avec l'option indice et exposant.

    Une solution temporaire (non essayé) convertir la chaine saisie en texte "C16H34S2O3Cl" en la scannant et en mettant par VBA les codes spéciaux de formatage de cellule (indice/exposant). Reste le problème des indices et exposants qui se suivent (en partant par la droite et un espace obligatoire pour distinguer "2-" de "72-".

    Quand à la proposition de caractères spéciaux unicode ! Ce n'est pas supporté par la textbox, d'après ce que je sais. Comment faire alors ?

    Merci.

    ESVBA

  6. #6
    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
    salut

    en ascii, tu as déjà les exposants 1, 2 et 3 ainsi que le signe + ou - :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox1.Text = "exposant1" & Chr(185) & vbCrLf & "exposant2" & Chr(178) & vbCrLf & "exposant3" & Chr(179) & vbCrLf & "signe + ou moins " & Chr(177)

  7. #7
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Citation Envoyé par ESVBA Voir le message
    rien de très spécifique.

    Quand à la proposition de caractères spéciaux unicode ! Ce n'est pas supporté par la textbox, d'après ce que je sais. Comment faire alors ?

    ESVBA
    Si,si c'est d'ailleurs une des raisons invoquée lors de l'abandon de RichText je crois (textbox Acces).

    Le mieux est de construire ton propre Editeur, je t'en propose une maquette grossière, mais opérationnelle dans l'idée.

    le principe, ici, est que le clic sur indice ou exposant transforme le dernier caractère entré.



    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
    34
    35
    36
    37
    'Dans l'USF
    Option Explicit
    Dim objPass
    Dim strpass As String
     
    Private Sub CommandButton1_Click()
    Cells(1, 1) = objPass.Text
    End Sub
     
    Private Sub Labexp_Click()
    Dim strcaract As String
     
    strcaract = Right(objPass.Text, 1)
    strpass = objPass.Text
    objPass.Text = Left(objPass, Len(objPass) - 1) & Convertisseur(strcaract)
    End Sub
     
    Function Convertisseur(strcaract As String)
    Select Case strcaract
       Case 1
          Convertisseur = ChrW("&H00B9")
       Case 2
          Convertisseur = ChrW("&H00B2")
       Case 3
          Convertisseur = ChrW("&H00B3")
       Case Else
          Convertisseur = strcaract 'construire les filtres voulus...
    End Select
    End Function
     
    Private Sub TextBox1_Enter()
    Set objPass = Me.ActiveControl
    End Sub
     
    Private Sub TextBox2_Enter()
    Set objPass = Me.ActiveControl
    End Sub
    les index ne sont opérationnels que jusqu'à 3 et les indices ne sont pas implémentés.

    cordialement,

    Didier

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

Discussions similaires

  1. remplir textbox avec des paramètres
    Par tortuegenie dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/02/2008, 10h36
  2. [Débutant] Nom de variable avec des indices
    Par scraven dans le forum MATLAB
    Réponses: 4
    Dernier message: 24/04/2007, 21h02
  3. ecrire un label avec des caractères unicode
    Par jamescook dans le forum C++Builder
    Réponses: 6
    Dernier message: 13/02/2007, 10h18
  4. [VBA-A]Remplir une textbox avec des données de tables.
    Par cuicui08 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2006, 10h28
  5. Ecrire du texte avec des coordonnées 3D
    Par julian_ross dans le forum DirectX
    Réponses: 3
    Dernier message: 21/06/2005, 15h05

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