Mettre en indice dans un Msgbox

Résolu
MEUCORACAO - 30 avril 2013 à 09:50
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 10 mai 2013 à 17:42
Bonjour à tous,

Je reviens pour un sujet assez flou sur le net car je ne trouve pas la réponse à mon sujet. En effet, je souhaite afficher une formule chimique dans un Msgbox en mettant les chiffres stœchiométriques en indice. Ma formule chimique est stocké dans une variable :

For j = 1 To Len(Molecule)
      If IsNumeric(Mid(Molecule, j, 1)) Then
            With Molecule.Characters(Start:=j, Length:=1).Font
                    .Subscript = True
            End With
      End If
Next j
 
        Reponse = MsgBox("Êtes-vous sûr de vouloir travailler avec " & Molecule & " comme réactif " & Inc + 1 & " ?", vbYesNo, "Voulez-vous poursuivre ?")


Je sais que cela ne peut pas marcher car on s'en sert pour les cellules de cette méthode mais n'y aurait-il pas une méthode comparable ?

Je vous remercie par avance pour votre réponse.
Bien cordialement,

Anthony
A voir également:

31 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
3 mai 2013 à 03:56
non. c'est Mpi³ moins un atome


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Utilisateur anonyme
3 mai 2013 à 04:04
Excuse moi, j'ai que le "²" sur mon clavier
Mais... d'après ce que tu dis, ça a un rapport avec la masse atomique ???
On est nuls en chimie quand-même ...

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 mai 2013 à 07:47
On est nuls en chimie quand-même ...

Bonjour, acive,
Poyurquoi ? Tu veux te mettre à faire l'algo de différenciation de traitement selon la position des caractères numériques (ce dont je parlais plus haut) ?

Facile à comprendre (le principe) ===>>
Tapez le texte de l'url ici.

Reste à faire l'algo et à ne rien rater (faisable)
Une seule Textbox suffira alors pour la saisie de la formule à ensuite afficher dans des labels "décalés" (relire ce que j'en ai dit plus haut) .
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 mai 2013 à 07:58
Une petite précision sur l'algo à faire alors :
Assez simple si on se contente d'un caractère par label
Un peu plus élaboré si l'on veut diminuer le nombre de labels nécessaires (un seul label pour chaque sous-chaîne de même "décalage".
Allez ===>> à vos méninges et à votre patience


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour Messieurs,

A ce que je vois la chimie vous a donné pleins d'idées. Je suis chimiste et j'ai eu quelques frayeurs en vous lisant quand j'ai vu que vous confondiez atomes et molécules mais bon c'est comme pour moi chimiste qui n'arrive pas à résoudre ce problème

J'aimerai juste savoir s'il est possible de mettre des labels transparents. Si oui, comment faites-vous?

Je vous remercie encore pour votre patience,
Bien cordialement
0
Merci bien ucfoutu,

Je vais regarder ça très en détail ce weekend. Je te remercie énormément de m'aider dans ce problème.

Passe également un bon weekend.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
3 mai 2013 à 14:47
Une autre façon de faire...
Adapte à tes besoins.

Le problème d'indice demeure tout de même là, à savoir est-ce que tous les chiffres seront indicés ou non...

Donc, un Userform avec un contrôle Image (Image1)
Il ne reste qu'à appeler
Userform1.show

Private Sub UserForm_Initialize()
    Const FName As String = "C:\Image.gif"
    
    Dim Cellule As Range
    Dim Feuille As Worksheet
    Dim ChartTemp As Chart
    Dim PicTemp As Picture
    Dim I As Long
    
    Set Cellule = ActiveSheet.Range("A4") 'Cellule où on écrit la formule
    Cellule.Value = "C4H10N2B"
    
    For I = 1 To Len(Cellule)
        If IsNumeric(Mid(Cellule, I, 1)) Then
            Cellule.Characters(Start:=I, Length:=1).Font.Subscript = True
        End If
    Next
    
    Application.ScreenUpdating = False
    
    Set Feuille = Worksheets.Add
    Charts.Add
    
    ActiveChart.Location xlLocationAsObject, Feuille.Name
    Set ChartTemp = ActiveChart
    Cellule.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    ChartTemp.Paste
    
    Set PicTemp = Selection  ' je n'aime pas, mais bon...
    
    ChartTemp.Export FName, "gif"
    UserForm1.Image1.Picture = LoadPicture(FName)
    UserForm1.Image1.Width = Selection.Width
    UserForm1.Image1.Height = Selection.Height
    
    Kill FName
    
    Application.DisplayAlerts = False
    Feuille.Delete
    Application.DisplayAlerts = True
    
    Application.ScreenUpdating = True
End Sub


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Utilisateur anonyme
3 mai 2013 à 15:04
Hé bien !...
Je n'en ferais pas mieux....
Peut-être en VB.net mais pas en VBA.

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Bonjour à tous,

Je vous remercie pour votre aide. J'ai bien compris votre concept pour arriver à mes fins. J'ai amélioré votre ébauche et c'est tout à fait ce qu'il me fallait. Je vous remercie pour votre aide.

Bonne continuation à vous,
Bien cordialement,

Anthony
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mai 2013 à 09:27
Bon.
Libère alors ce sujet (un clic sur le tag "réponse acceptée" là où tu as trouvé une solution).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mai 2013 à 17:42
Bien.
Je sais maintenant qu'il t'a été demandé "ailleurs" de montrer la solution.
Je n'ai rien contre, mais à la seule condition que tu répondes non en montrant le code, mais en donnant le lien vers la présente discussion.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Rejoignez-nous