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 :

Contrôle d'affiche d'un .txt "à propos"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut Contrôle d'affiche d'un .txt "à propos"
    Bonjour,

    Je souhaite ajouter une rubrique "à propos" au menu de mon appli vba.
    Pour cela, je souhaiterais insérer dans un formulaire un contrôle qui serai lié au chemin d'un fichier texte "à propos".


    Un tel contôle existe t-il ? Si oui, comment s'apelle t-il ?

    Laurent

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Ben...

    Tu peux utiliser ce que tu veux (un Label, une TextBox, par exemple) et le mettre (à ton gré) dans un autre UserForm ou même un cadre (bref, un container) que tu montres lorsque l'on clique sur ton "à propos"...

    Au clic : tu lis ouvres (Open for...) ton fichier texte et tu charges dans ton contrôle ce qui se lit dans ce fichier...

    Tu peux faire en sorte de ne lire qu'une fois ton fichier texte. Une fois ouvert, lu et chargé, si tu mets son contenu dans une variable, il te suffira ensuite de lire cette variable.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Merci ucfoutu pour ta réponse.

    Bon, je pensais juste qu'il y avait un contrôle plus simple (avec juste une propriété "Path" et pas de code "Open for"), avec scroller intégré, conservation de la mise en forme du texte, fond blanc sur formulaire à fond gris...
    Bref... comme on peut le voir dans tous les "à propos" de tous les logiciels.

    Exemple : box d'acceptation des conditions d'utilisation de licence à l'installation des logiciels, qui ne fait que pointer sur un fichier texte.

    Sinon, effectivement, je peux le faire avec un texte box. Au fait, on peut scroller sur un text box ?

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Rien ne t'empêche de scroller sur une texbox !

    Et par ailleurs, rien ne t'empêche non plus de définir "en dur", dans ton application, le texte à afficher (si tu ne veux pas d'un Open For...de fichier ...)

    Un fichier texte présente l'avantage (et c'est tout) de pouvoir modifier le texte sans toucher à ton appli...

    Bref : la solution est fort simple à mettre en oeuvre !

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Voilà c'est fait avec le textbox ! Merci pour le coup de main.

    Bon j'ai un peu ramé pour des histoires de variables Textstream, donc pour les futurs intéressés, je mets quand même le code que j'ai utilisé dans mon formulaire (mon formulaire contient un TextBox "tbApropos") :

    Merci pour le coup de main.

    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
    Private Sub UserForm_Initialize()
     
    Dim readMe As String 'la chaîne que je veux récupérer
    Dim fs As FileSystemObject 'Ne pas oublier de cocher "Microsoft Scripting Runtime" dans les références
    Dim monFichier As TextStream
     
     
    Set fs = New FileSystemObject
    Set monFichier = fs.OpenTextFile(ThisWorkbook.Path & "\Readme.txt", ForReading)
    readMe = monFichier.ReadAll  'Chargement de ma chaîne à partir de "monFichier"
     
    Me.tbApropos.Text = readMe  'Remplit mon textebox avec ma chaîne
    Me.tbApropos.SelStart = 0  'Scrolle au début du texte
     
     
    End Sub

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    C'est bien, mais...

    Pourquoi diable alourdir ton appli avec FSO ? et te rendre dépendant, en plus ?

    Regarde, avec VBA tout seul :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Command1_Click()
      dim montexte as string
      Open "d:\essai.txt" For Input As #1
         montexte = Input(LOF(1), #1)
      Close #1
      Textbox1.Text = montexte
    End Sub

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

Discussions similaires

  1. [formulaire]zone de contrôle non affichée?
    Par maraly dans le forum IHM
    Réponses: 14
    Dernier message: 12/06/2006, 10h49
  2. [WebForms][2.0] Existe-t-il un contrôle pour afficher une vidéo ?
    Par dumser1 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 19/05/2006, 17h58
  3. [Servlet]Pas d'affich de ma servlet: enregistrement proposé
    Par Fredooweb dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/02/2005, 17h12

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