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 :

Changer le texte qui apparaît dans le bandeau d'une boîte de dialogue


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut Changer le texte qui apparaît dans le bandeau d'une boîte de dialogue
    Bonjour,

    Si j'appelle la palette de couleurs qui permet de modifier la couleur d'une cellule :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Dialogs(xlDialogPatterns).Show
    dans le bandeau de la boîte de dialogue qui apparaît (en espagnol) "Formato de celda".
    Comment s'y prendre pour que ce texte soit autre, par exemple "ZAZA" ?
    J'ai tenté avec :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Dialogs(xlDialogPatterns).Show Caption = "ZAZA"
    ... lamentable échec coutumier...
    Je pense qu'il faut passer par des APIs...

    Merci d'avance pour tout commentaire.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    à tout hasard, ta version d'Excel ne serait-elle pas ibérique ?

  3. #3
    Membre actif
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    En effet, mais je ne vois pas le rapport...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    Il me semble que cette question a été posé sur un autre site et que des réponses ont été apportées.

    Excel Downloads

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    La demande est ancienne mais je viens de trouver la solution alors je la fais paraître.

    Copiez le code suivant dans un module standard puis lancez la procédure "MonTraitement"
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Private Declare Function SendMessage& Lib "user32" Alias "SendMessageA" ( _
      ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
    Private Declare Function FindWindow& Lib "user32" Alias "FindWindowA" ( _
      ByVal lpClassName As String, ByVal lpWindowName As String)
    Private Declare Function SetTimer& Lib "user32" ( _
      ByVal Hwnd As Long, ByVal nIDEvent As Long, _
      ByVal uElapse As Long, ByVal lpTimerFunc As Long)
    Private Declare Function KillTimer& Lib "user32" ( _
      ByVal Hwnd As Long, ByVal nIDEvent As Long)
     
    Dim OnTimer&
     
    '___________________________
    Private Sub ChangeTitreFenetre()
    Const WM_SETTEXT As Long = &HC
    Dim Hwnd&
      '--- Cas espagnol ---
    Hwnd& = FindWindow(vbNullString, "Formato de celda")                    'adapter avec le titre exact de la fenêtre recherchée
      '--- Sinon en français ---
    If Hwnd& = 0 Then Hwnd& = FindWindow(vbNullString, "Format de cellule") 'adapter avec le titre exact de la fenêtre recherchée
      '--- on peut poursuivre avec d'autres langues ---
    'If Hwnd& = 0 Then Hwnd& = FindWindow(vbNullString, "Titre en zimbabwéen (que je ne connais pas)")
     
    '/// si le titre exact de la fenêtre est trouvé, on le modifie ///
    If Hwnd& <> 0 Then SendMessage Hwnd&, WM_SETTEXT, 0, ByVal "ZAZA" 'Nouveau titre (ByVal est impérativement requis)
    End Sub
    '___________________________
    Private Sub RunTimer(Delai&)
    If OnTimer& > 0 Then OffTimer
    OnTimer& = SetTimer(0, 0, ByVal Delai&, AddressOf ChangeTitreFenetre)
    End Sub
    '___________________________
    Private Sub OffTimer()
    If OnTimer& > 0 Then
      OnTimer& = KillTimer(0&, OnTimer&)
      OnTimer& = 0
    End If
    End Sub
    '___________________________
    Sub MonTraitement()
    '--- traitement avant ---
     
    '### Appel de la boîte de dialogue ###
    RunTimer 0
    Application.Dialogs(xlDialogPatterns).Show
    OffTimer
    '###
     
    '--- Suite traitement ---
    End Sub

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Et bien, ça fait beaucoup de code pour pas grand chose

    Hervé.

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Theze Et bien, ça fait beaucoup de code pour pas grand chose
    Bonjour,

    Ce code n'est qu'un amuse-bouche.
    Pour occuper les longues soirées d'hiver qui s'annoncent, allez donc voir le message #4, nettement plus consistant, sur http://www.developpez.net/forums/d13...inee-classeur/

Discussions similaires

  1. Modifier l'URL qui apparaît dans barre adresse navigateur
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 27/08/2011, 13h27
  2. Réponses: 2
    Dernier message: 15/06/2011, 10h03
  3. Réponses: 4
    Dernier message: 30/11/2010, 13h28
  4. texte qui apparaît/disparaît au clic
    Par marion5515 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 06/06/2008, 09h57
  5. Réponses: 1
    Dernier message: 29/08/2006, 14h45

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