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 :

compatibilité office excel 2003 2010 [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut compatibilité office excel 2003 2010
    Bonjour à tous

    j'en profite pour remercier tous les participants au forum qui font que je ne poste que tres rarements, je fini toujours par trouver mon bonheur.

    Mon probleme aujourd'hui est que toutes mes applications vba tourne sous office 2003. Demain une partie de nos collaborateurs va basculer sous Seven et sous office 2010.

    Je suis confronter a des problemes de compatibilité de mes macro sous les différents environnements.

    Les bibliotheques qui ne sont pas les memes...j'ai en partie résolu le probleme en copiant le dossier Office 11 dans office 14, mais ne suis pas certain que ce soit la bonne méthode...

    Mon gros problèmes reste ce Pu... de Ruban dans office 2010.
    Un de mes codes masqué tous les menu de excel sauf le menu "perso" que je créer à la volé.

    Aujourd'hui il est plus difficile de gerer tout cela directement sous vba sans passé par le xml apparement.

    Mes commandes qui masqué les barres d'outils et barre de menu ne marche plus.
    Les commandes de largeur de zone de texte ne marche plus non plus.
    Je ne parviens pas a nommer la barre "perso" que je créer autrement que dans l'onglet complément de office 2010.

    Avez vous des solutions...SVP et sans passer par le xml qui je ne sais pas si il serais pris en charge sous 2003?

    Je vous joins un bout de code de la procedure qui gere l'affichage des barres, celle-ci est appeler depuis le Thisworbook.

    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
    Sub Creation_Cbar() 'Créer et paramètre une nouvelle barre d'outils et efface les autres
    Dim Cbar As CommandBar '<-- déclaration de variable pour création de barre de commande
    Dim B_Site As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande
    Dim B_Bat As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande
    Dim B_Acc As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande
    Dim B_Imp As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande
    Dim B_Frm As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande
    Dim Info As CommandBarComboBox '<-- déclaration de variable pour un contrôle de type zone de texte ou zone de liste
    Dim x
     
    On Error Resume Next
    For x = 1 To Application.CommandBars.Count
    With Application.CommandBars(x)
    .Visible = False                                         'Efface les barres outils active
    End With
    Next x
     
    'Défini les paramètres de la nouvelle barre
    Set Cbar = Application.CommandBars.Add(Name:="Navigation", Position:=msoBarTop, Temporary:=True)
    With Cbar
        .Visible = True
        .Protection = msoBarNoMove + msoBarNoCustomize
    End With
    Ensuite je défini mes boutons etc...
    Webplanneur comme disait Plastik...

    Si la réponse répond à votre besoin, votre vote nous encouragera.
    Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.

  2. #2
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Pour avoir plus d'info sur le ruban tu peux t'aider de ce tutoriel.

    Le ruban n'est en effet pas accessible sur office 2003 et inférieure.

    Tu peux faire un teste sur la version d'excel en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if application.version = ... then
    Une petite recherche te permettra de déterminé le numéro de version en fonction de la version d'office (2000, 2007, 2010...)
    Ainsi, sur une version inférieur à 2007 tu places tes menus.

    Mais bon, tout ceci ne rendra pas compatible un fichier donné avec toutes les versions d'Excel, à un moment il va falloir déterminer sur quelle version travaille ton client et faire un fichier qui correspond à sa version d'Excel.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut re
    Merci pour ta seule réponse déja,
    Le sujet ne semble pas passioner les foules.

    Pourtant la problématique est réelle rendre compatible ce type de code à la fois sous 2003 et 2010.

    Si je comprend bien le tuto, il n'y a plus de code VBA permettant de gerer ces objet directement, tu es focément obligé de repasser par ces feuilles de style xml?
    Webplanneur comme disait Plastik...

    Si la réponse répond à votre besoin, votre vote nous encouragera.
    Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.

  4. #4
    Membre habitué
    Homme Profil pro
    Developpeur
    Inscrit en
    Novembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 196
    Points : 159
    Points
    159
    Par défaut sdispro
    Salut,

    si j'ai bien compris ton souhait essai simplement ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Macro1 Macro
    '
    Application.DisplayFullScreen = True
       ActiveWindow.DisplayHeadings = False
        ActiveWindow.DisplayGridlines = False
    '
    End Sub
    Bonne journée

  5. #5
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Citation Envoyé par CODYCO Voir le message
    Merci pour ta seule réponse déja,
    Le sujet ne semble pas passioner les foules.

    Pourtant la problématique est réelle rendre compatible ce type de code à la fois sous 2003 et 2010.

    Si je comprend bien le tuto, il n'y a plus de code VBA permettant de gerer ces objet directement, tu es focément obligé de repasser par ces feuilles de style xml?
    Salut
    Oui c'est bien cela.
    il est possible par le code VBa de personnaliser une partie du ruban car il y a des listes déroulantes et boutons avec listes incorporées appellent un callback pour renseigner leur contenu, il est alors possible de mettre ce que tu veux dans la liste.

    Mais comme je te l'ai dis, il est a mon avis impossible de faire un fichier compatible 2003 et 2007 avec une utilisation du ruban ou d'un menu personnalisé (en 2007 les menu perso apparaissent dans l'onglet complément... mais bon c'est pas génial).

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je ne peux que confirmer les dires de Qwazerty (que je salue au passage).

    L'option qui est souvent prise en entreprise est de ne plus faire évoluer la version 2003 et de retravailler la version 2007-2010.

    Ces versions offrent de nouveaux outils (tableaux, 64 mfc au lieu de 3, tris et filtres sur couleurs (64 tris au lieu de trois),...) et de nouvelles fonctions (fonctions .ENS, notamment), ruban, bien entendu (qui demande une refonte sérieuse du code si création de barres personnalisées)... Ces outils amènent à de nouvelles stratégies, des conceptions de classeur nouvelles (notamment l'utilisation des "tableaux") qui apportent des véritables avancées mais qui demandent autre chose qu'une vérification de la compatibilité.

    C'est une chance de dépoussiérer de vieilles applis, de regarder les classeurs d'un oeil nouveau et d'apporter de véritables améliorations dans son travail quotidien.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut Merci
    Bien,

    Je ne peux que me résigné et comme le dit pierre avoir une approche posotif en me disant que c'est l'occasion de revoir l'ensemble des codes, même si cette charge de travail n'était pas focément prévu...

    Le choix des entreprise de rester sous 2003 me semblait aussi judicieux mais seulement la gestion des DSI est souvent différente, remplacement de PC = passage obligé vers windows 7 et office 2010.

    Je pense que je vais me tourner vers la solution du double fichier et de la double version de code. Cela me rappel les début d'internet ou je devais rendre mon code html compatible entre netscape et explorer.

    Un dernier service pouvez m'orienter sur la création d'un onglet personnalisé du rubant et de pouvoir faire disparaitre tous les autres onglets, j'aimerais vraiment que les utilisateurs ne puissent gérer que les boutons nécessaires.

    Bien merci à vous.
    Webplanneur comme disait Plastik...

    Si la réponse répond à votre besoin, votre vote nous encouragera.
    Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    tu pourras lire utilement le tuto de silkyroad sur le sujet. Il est rédigé pour la version 2007, mais il est tout à fait pertinent pour la 2010, même si cette version permet certaines personnalisations.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut
    Pour conclure et pour ceux qui pourrais rencontrer le même probleme voici le code que j'ai mis en place:

    J'ai fait le choix de créer un fichier xla à savoir une macro complémentaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Workbook_Open()
    'Detection de la version d'office et redirection
    If Application.Version <= 11 Then 'Si supérieur à Office 2003 ferme ce classeur et ouvre version 2010
    'Appel la création de la barre outils
    Creation_Cbar_2003
    'Si la version n'est pas en 2003
    Else
    'Appel la création de la barre outils
    Creation_Cbar_2010
    End If
    End Sub
    Dans ces deux macro j'ai créer une barre d'outils provisoire en fonction de la version, j'ai donc deux codes et deux type de traitement différents.

    Merci encore à tous
    Webplanneur comme disait Plastik...

    Si la réponse répond à votre besoin, votre vote nous encouragera.
    Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.

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

Discussions similaires

  1. Compatibilité excel 2003 / 2010
    Par artheos dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/11/2012, 11h34
  2. [XL-2010] Problème compatibilité macro excel 2003 / 2010
    Par alf62000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2012, 17h43
  3. [XL-2010] Problème compatibilité excel 2003-2010
    Par bbcancer dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/10/2012, 16h32
  4. Procédure de tri - Excel 2003-2010
    Par Philippe Tulliez dans le forum Contribuez
    Réponses: 3
    Dernier message: 10/10/2012, 12h34
  5. [XL-2010] FICHIER excel 2003-2010
    Par vsobo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/11/2010, 16h07

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