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 :

Modifier les ControlTipText d'un userform [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut Modifier les ControlTipText d'un userform
    Bonjour,

    J'ai renseigné les infobulles, dans les divers controles d'un userform.

    Je voudrai pouvoir corriger l'orthographe de ces textes.

    Pour extraire les textes, pas de problème, mon soucis c'est pour renseigner les controltiptext une fois les textes corrigés :

    Ici le code qui extrait les textes, reste plus qu'a mettre à jour les différents contrôles de l'userform (UEXP) :

    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
    Private Sub infobulles()
    Dim Ctrl As Control
    Dim Nonglet As String
    Dim i As Integer
    Dim Wk As Worksheet
     
    Nonglet = "Propriétés de l'USF UEXP"
    On Error Resume Next
    Worksheets(Nonglet).Delete
    Set Wk = Worksheets.Add
    ' Set Wk = Worksheets(Nonglet)
     
    With Wk
        .Name = Nonglet
    End With
     
    'Boucle sur la collection de contrôles pour correction orthographique ControlTipText
    For Each Ctrl In Uexp.Controls
        i = i + 1
        With Ctrl
        Cells(i, 1) = .Name
        Cells(i, 2) = .ControlTipText
       '  .ControlTipText = Cells(i, 2) 'Non valorisé définitivement
        End With
    Next Ctrl
     
    ' ThisWorkbook.VBProject.VBComponents("Uexp") => ok pour les propriétés mais pour les controles de l'USF ?
    End Sub

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Salut,
    Je viens de tester ceci qui a l'air de fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm1.Controls(Cells(1, 1).text).ControlTipText = Cells(1, 2).text
    Du coup je dirais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i = 1 to derniereligne
         Uexp.Controls(Cells(i, 1).text).ControlTipText = Cells(i, 2) 
    next i
    J'espère que cela t'aidera, et que j'ai bien compris le problème

    Edit : je retir ce que j'ai dit quand je relance le userform j'ai de nouveau le premier tipstext, désolé Il ne remplace pas celui défini à la création

  3. #3
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Edit : je retir ce que j'ai dit quand je relance le userform j'ai de nouveau le premier tipstext, désolé Il ne remplace pas celui défini à la création
    Effectivement, c'est bien là que se situe mon problème et je n'ai pas encore trouvé comment faire.

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Re,

    Je pense avoir trouvé, la solution ici, il ne me reste plus qu'a l'adapter.

  5. #5
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Pour ceux que ça pourrait eventuellement intéresser, le code complet :

    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
    38
    39
    40
    41
    Private Sub infobullesII()
    Dim Ctrl As Control
    Dim Nonglet As String
    Dim i As Integer
    Dim Wk As Worksheet
    ' ---------------------------------------------------------------------------------- '
    ' Creation de l'onglet
    ' ---------------------------------------------------------------------------------- '
    Nonglet = "Propriétés de l'USF UEXP"
     
    On Error Resume Next
    Worksheets(Nonglet).Delete: Set Wk = Worksheets.Add   : Wk.Name = Nonglet 'SCND
    'SCND Set Wk = Worksheets(Nonglet)
     
    ' ---------------------------------------------------------------------------------- '
    'Boucle sur la collection de contrôles pour correction orthographique ControlTipText
    ' ---------------------------------------------------------------------------------- '
    For Each Ctrl In ThisWorkbook.VBProject.VBComponents("Uexp").Designer.Controls
       i = i + 1
        With Ctrl
            Cells(i, 1) = Ctrl.Name
            Cells(i, 2) = Ctrl.ControlTipText
        End With
    Next Ctrl
     
    ' -------------------------- '
    ' Correction orthographique
    ' -------------------------- '
     Cells.CheckSpelling SpellLang:=1036
     ' DoEvents
    ' ---------------------------------------------------------------------------------- '
    ' Mise à jour des ControlTiptext
    ' ---------------------------------------------------------------------------------- '
    i = 0
    For Each Ctrl In ThisWorkbook.VBProject.VBComponents("Uexp").Designer.Controls
     '   Debug.Print Ctrl.Name
       i = i + 1
       Ctrl.ControlTipText = Cells(i, 2)
    Next Ctrl
     
    End Sub

    Edit : je travaille sur un code un peu similaire avant de mettre résolu.
    Edit2 : Finalement j'ai repris ce code pour toutes les propriétés et ça fonctionne bien
    Edit3 : en fait non, il me semble que j'ai un petit soucis pour le nom je fais des tests.

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

Discussions similaires

  1. Je n'arrive pas a modifier les valeurs de mon tableau via mon UserForm
    Par Patouillou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/02/2015, 16h15
  2. Modifier les dimensions d'une Userform
    Par BOU59000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/06/2010, 17h50
  3. Réponses: 4
    Dernier message: 27/05/2004, 15h00
  4. [VBA-E]modifier les attributs d'un commentaire dans une cellule
    Par Olivier vb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2004, 10h26
  5. [EXCEL]Modifier les marges d'une page dans Excel
    Par ms91fr dans le forum Composants VCL
    Réponses: 4
    Dernier message: 06/01/2004, 15h26

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