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] Changer le caption d'un label


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut [VBA-E] Changer le caption d'un label
    Salut,

    je voudrais mettre dans un label le chemin d'un repertoire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Chemin_Click()
        Menu.Label2.Caption = RechercherDossier("selectionnez un répertoire", 0)
        ThisWorkbook.Save
    End Sub
    quand je clique sur le bouton, je peux chercher le repertoire, il s'affiche bien dans mon label mais une fois que je referme l'userform, à sa réouverture je retrouve l'ancien caption (j'avais juste mis "h" et je retrouve "h") j'ai donc tenté de save le document mais ca change rien jm'y attendais un peu


    une idée là dessus?

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben non tiens je sais pas comment rendre "retentive" les propriétés d'un contrôle....

    un paliatif consisterai à sauver cette donnée ailleurs dans un fichier .ini externe... où une cellule de ta feuille de calcul...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    Menu c'est le nom de mon userform

    sinon pour bbil, oui c'est ce que je fais en attendant... je met ce nom dans une cellule de feuille cachée et je le réattribut au caption lors de l'ouverture

    mais je pensais qu'un de vous deux me dirait comment on fait en 30 secondes... j'vous ai surestimé

    j'ai trouvé que ca d'intéressant :
    http://www.developpez.net/forums/att...1&d=1153085733


  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
    Je me suis énervé (tu m'as) et j'ai trouvé le code qui fonctionne
    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
    Public CaptionLabel
    Sub CaptionDuLabel()
    CaptionLabel = "PERSO.xls"
    End Sub
     
    Sub NommerLeLabel()
    Dim i, msg
    '******************* A déplacer *********
    NomLabel = ThisWorkbook.Name 'Tu récupères le nom là où tu le souhaites
    '****************************************
    msg = "CaptionLabel = " & chr(34) & NomLabel & chr(34)
            For i = 1 To Application.VBE.VBProjects.Count
                On Error Resume Next
                NbModules = Application.VBE.VBProjects(i).VBComponents.Count
                'Nombre d'éléments dans le fichier (modules ou feuilles)
                If Err = 0 Then
                    For j = 1 To NbModules
                        If Application.VBE.VBProjects(i).VBComponents(j).Name = "Module1" Then
                            With Application.VBE.VBProjects(i).VBComponents(j)
                                .CodeModule.ReplaceLine 3, msg
                            End With
                        End If
                    Next j
                End If
            Next i
    End Sub
    Reste plus qu'à adapter

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir

    pour modifier "en dur" la propriété d'un objet dans un UserForm (à condition que celui ci ne soit pas en cours d'affichage)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisWorkbook.VBProject.VBComponents("UserForm1"). _
      Designer.Controls("Label2").Caption = "test modif"


    bonne soiree
    michel

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par Elstak
    mais une fois que je referme l'userform, à sa réouverture je retrouve l'ancien caption
    Comment le fermes-tu?
    Je ne vois, nulle part, que tu veux garder la donnée après fermeture du classeur.

    Donc, un simple Hide (sans Unload) devrait fonctionner.
    Pour autant que tu ne fasses pas de réinitialisation sur l'événement Activate.

    Pour info, en VBA, les initialisations de formulaires doivent (normalement) se faire dans l'événement Initialize.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    Salut,

    alors pour ca, silky:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisWorkbook.VBProject.VBComponents("menu"). _
      Designer.Controls("Label2").Caption = RechercherDossier("selectionnez un répertoire", 0)
    j'ai : "l'acces au programme par visual basic n'est pas fiable"

    je suis sous excel on est d'accord?


    pour alain :

    Pour info, en VBA, les initialisations de formulaires doivent (normalement) se faire dans l'événement Initialize.
    C'est ce que je fais pour le moment, dans initialize je prend la valeur que j'ai stockée dans une feuille cachée et je l'affecte au caption.

    Comment le fermes-tu?
    hm, avec la croix?
    sinon oui je veux le garder apres reouverture du fichier excel car le chemin devrait etre quasiment toujours le meme (poissible qu'il change une fois en cours de route...)

    pour ouskel (je fini par le meilleur ) :

    bah merci d'avoir cherché ce code mais là vu sa longueur jprefere ma solution de stockage dans une feuille masquée

    si il existe une solution qui resemble à celle de silky (mais qui fonctionne ) là je prend !!

  8. #8
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Par défaut
    Essaie de cocher l'option "faire confiance au projet visual basic" ou un truc dans le style (j'ai excel en anglais!). Le chemin:

    Outils -> Macros -> securite -> 2eme onglet

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    Ok pas mal

    ca a du marcher.. mais j'ai une autre erreur

    erreur, variable objet ou de bloc with non définie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Chemin_Click()
    
        
        ThisWorkbook.VBProject.VBComponents("menu"). _
      Designer.Controls("Label2").Caption = RechercherDossier("selectionnez un répertoire", 0)
    
    Call RechercheFichier
    
    ThisWorkbook.Save
        
    End Sub
    Où est ce qu'il me voit un bloc with lui??
    (les noms sont bons)

  10. #10
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With ThisWorkbook.VBProject.VBComponents("menu").Designer.Controls("Label2")
           .Caption = RechercherDossier("selectionnez un répertoire", 0)
    End with
    essaie ça


    NB - Mais je ne savais pas qu'on pouvait faire ça et j'aurais fait aut' chose pour rechercher le répertoire. Si ça fonctionne, j'aurai appris quelque chose

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/05/2014, 12h21
  2. [AC-2007] Changer le Nom d'un Label avec VBA
    Par amazon dans le forum VBA Access
    Réponses: 1
    Dernier message: 27/05/2009, 11h57
  3. Réponses: 3
    Dernier message: 30/10/2008, 14h15
  4. [D7]Changer le caption d'un label inconnu
    Par dleu dans le forum Delphi
    Réponses: 5
    Dernier message: 01/09/2006, 12h37
  5. [VBA-E]Modifier la caption d'un label par macro
    Par Gautheron dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2006, 13h07

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