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

Excel Discussion :

Clic-droit... avec apparition d'une boîte à outils !?


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2005
    Messages : 70
    Points : 55
    Points
    55
    Par défaut Clic-droit... avec apparition d'une boîte à outils !?
    Bonjour...

    J'ai une appli Excel + VBA qui marche parfaitement sur une dizaine de tableaux différents, en N versions d'Excel allant de 2003 à 2009, sur PC et sur Mac. Elle exploite les menus contextuels et balance par ailleurs plein de "MsgBox" et autres "InputBox".

    Voici que sur Excel 2010, deux problèmes - distincts - surgissent :
    1. Les accents présents dans mes les menus contextuel comme dans les MsgBox sont "mal" interprétés (du genre : un Z avec un chapeau pour le "é" comme cela arrive entre UTF et ISO...)
    2. Sur les menus contextuel, une boîte à outils (en général : Format Cellule) apparaît, flottant au dessus du menu lui-même !

    Je déprime Quelqu'un a-t-il une idée sur la façon d'éradiquer ces comportements ?
    Merci à tous !

  2. #2
    Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2005
    Messages : 70
    Points : 55
    Points
    55
    Par défaut Les 2 pbs sont distincts
    Pour Info, j'ai trouvé ce Post sur le Forum, faisant état des problèmes d'accents survenus entre versions d'Excel MAC et PC (probablement à compter de 2009) :

    http://www.developpez.net/forums/d13...isent-windows/

    De fait, la version 2010 présentant le problème d'accent avait été utilisée sur Mac et sur PC, alternativement....

    Hélas, le Post ci-dessus n'obtient pas de réponse très satisfaisante sur la façon de traiter le problème. Et j'ai toujours le problème de la boîte à outil "Format" qui s'affiche sur tout clic-droit en cellule...

    Merci de votre aide !

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    c'est un problème d'encodage de caractère.
    Une idée (mais lourde)
    Idéalement il faudrait utiliser une api pour charger du texte ansi (correspondant au message à afficher, ce qui peut être fait en stockant le texte en vba) et le transcoder en fonction de l'environnement (mac ou windows) dans le format d'encodage de la machine (il faut utiliser la compilation conditionnelle je pense)

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 526
    Points : 16 463
    Points
    16 463
    Par défaut
    Bonjour

    La "Boîte à outils" est un fonctionnement normal d'Excel mis en place depuis la version 2007.

    On peut la désactiver dans les options mais elle est pratique...

  5. #5
    Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2005
    Messages : 70
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour

    La "Boîte à outils" est un fonctionnement normal d'Excel mis en place depuis la version 2007.

    On peut la désactiver dans les options mais elle est pratique...
    Ben... c'est le premier truc que j'ai essayé ! Mais apparemment, cela reste sans le moindre effet.

    Je suis donc dans la situation où cette action est clairement désactivée et où cette fichue "palette" s'affiche toujours. De rage, j'ai désactivé TOUTES les options. Autant que j'aie pu le vérifier, cette désactivation s'est montrée effective pour la plupart des Options, mais pas pour cette boîte à outils. Le plus comique, c'est que l'ensemble de la feuille est protégée pour les utilisateurs lambda, donc cliquer sur une icône de la palette ne sert strictement à rien.

    Par ailleurs, je n'ai pas ce problème sur les versions antérieures à Excel 2010.

    Merci quand même

  6. #6
    Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2005
    Messages : 70
    Points : 55
    Points
    55
    Par défaut Une "erreur" dans les constantes VB Excel 2010
    Sur Excel 2010, le mystère des "palettes" flottantes qui s'affichent lorsque l'on fait un click-droit et qu'il me semblait impossible de désactiver via VBA s'est éclairci ! Ce comportement est conditionné par une propriété de l'Application, le booléen : "Application.ShowMenuFloaties". Or, celui-ci.... fonctionne A L'ENVERS !

    En effet :

    La commande : "Application.ShowMenuFloaties = True" INHIBE l'affichage des mini-toolBox
    La commande "Application.ShowMenuFloaties = False" ACTIVE cet affichage

    Voir :
    http://code.msdn.microsoft.com/offic...te-UI-ce578987

    Au secours !

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    ok après une recherche il apparaît que visual basic sous macintosh ne supporte pas Unicode (UTF-8, UTF-16) donc votre projet étant créé sous mac les chaînes de caractères sont encodés dans
    un autre format dans le fichier vbaproj.bin

    en discussion privé j'ai commencé à aborder avec vous l'utilisation de strconv. Je pense qu'il faut creuser cette piste. Cette fonction renvoie un tableau de caractères en faisant une conversion vers ou depuis unicode. Je pense qu'en réalisant la conversion des messages vers unicode uniquement sous pc vos msgbox devrait refonctionner mais à la condition de concevoir les projets sous mac (enfin c'est une supposition)

    Pouvez vous essayer ceci en le copiant collant sur un projet VBA réalisé sous mac, et en l'exécutant sur windows et mac?

    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
     
    Sub mess_display()
    message$ = "éééé"
    #If Win32 Or Win64 Then
    messageconv$ = Conversion(message)
    message = messageconv
    #End If
    MsgBox message
    End Sub
    Function Conversion(texte As String) As String
        Dim message() As Byte
        message = texte
        For i = 0 To UBound(message) Step 2
            Conversion = Conversion & Left(StrConv(ChrB(message(i)), vbUnicode), 1)
        Next i
     
    End Function
    EDIT: pardon essayez plutôt le code ci-dessous, il sera plus simple à utiliser

    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
     
    Sub mess_display()
     
    MsgBox Conversion("éééé")
    End Sub
    Function Conversion(texte As String) As String
    #If Win32 Or Win64 Then
        Dim message() As Byte
        message = texte
        For i = 0 To UBound(message) Step 2
            Conversion = Conversion & Left(StrConv(ChrB(message(i)), vbUnicode), 1)
        Next i
    #ElseIf Mac Then
        Conversion = texte
    #End If
     
    End Function

Discussions similaires

  1. Problème de clic droit avec Eclipse sous Ubuntu
    Par CocoRambo dans le forum Eclipse
    Réponses: 1
    Dernier message: 18/11/2009, 10h20
  2. Droit d'accés sur une boîte aux lettres exchange
    Par samtgr dans le forum Exchange Server
    Réponses: 1
    Dernier message: 15/05/2008, 16h39
  3. clic droit avec JFileChooser
    Par mouss4rs dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 03/04/2008, 00h47
  4. clic droit pour selectionner dans une listbox
    Par Jeannot dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 23/08/2007, 17h32
  5. Problème Clic droit avec Explorateur Windows
    Par blandinais dans le forum Windows XP
    Réponses: 6
    Dernier message: 07/11/2006, 11h08

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