Conversion de barres d'outils perso Excel2003 en Excel2010

Fermé
Tessel75 - Modifié par Tessel75 le 21/08/2014 à 23:51
 Tessel75 - 24 août 2014 à 21:08
Bonjour,
Je suis dans une panade noire!
Depuis une petite dizaine d'années je travaillais tranquillement sur E-2003; je trafiquais mes petites macros et je les raccordais à des boutons personnalisés (dessins et tout) que je regroupais en barre d'outils tout aussi personnalisées que les boutons, et j'apprenais à mes collègues à s'en servir petit à petit.
En ce moment, la boite passe en E-2010, aujourd'hui, patatras, c'était mon tour. Je n'y retrouve plus rien. Certains boutons sont là, dans les compléments, mais pas tous, et certains autres que je n'utilisais plus depuis longtemps sont réapparus. La situation est d'autant plus gênante que je pars à la retraite dans une petite poignée de semaines, et que je tenais à laisser un boulot nickel derrière.
L'un de vous aurait-il les connaissances nécessaires et la patience de m'aider à essayer de remettre mon programme d'équerre de telle sorte que mes collègues, qui ne sont pas trop branchées informatique, puissent reprendre convenablement la suite avec un outil qui fonctionne honorablement.
Dernière précision, j'avais conçu un fichier Excel vide de toutes données sur lequel j'avais enregistré toutes mes macros et les barres d'outils correspondantes et qui s'ouvrait automatiquement à l'activation d'un bouton, et opérait sur les fichiers porteurs de données.
Avec tous mes remerciements à la personne dévouée qui voudra bien m'apporter son assistance. (Assez gros travail en perspective parce que moi-même je ne maitrise vraiment pas bien Excel-2010)


A voir également:

9 réponses

WeaponEDGE Messages postés 113 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 21 novembre 2014 9
Modifié par WeaponEDGE le 22/08/2014 à 14:47
Bonjour,

Si je comprend bien il s'agissait de macro rattaché à des icones dans ton menu ?
Excel 2010 est un peu déroutant au début mais on s'y fait vite.

Sur Excel 2003 il y avait une barre de Menu puis un menu déroulant pour chaque Menu.

Sur Excel 2010 La barre de Menu est réprésenté par des Onglet et les sous menu dans Le rubban.

La première chose à faire est de faire un clic droit sur le Rubban puis cliquer sur Personnaliser le Rubban (grossièrement parlant :-) )

Une fois la fenêtre ouverte sur la Droite on peut apercevoir Une liste correspondant au onglets. ceux qui sont coché sont visible sur les autres sont masqué. en fait il n'y en a qu'un de masquer c'est "Développer" (onglet spécifique pour tous ce qui est macro enregistreur de macro, ojet, etc...)
Cohez le afin de le faire apparaitre dans les onglets.

En bas de votre feuille une icone vient d'apparaitre c'est l'enregistreur de macro.

Cliquez dessus pour enregistrer une nouvelle macro et selectionner "Personal Macro Workbook". Cliquer sur OK et arrêtez tout de suite l'enregistreur.

Cette action à permis de créer un fichier de stockage personel de Macro.
Ce fichier (Extension XLSB) s'ouvrira en arrière plan à chaque ouverture d'Excel et permettra de mettre à disposition toutes les macros enregistré dedans.

Dans le visual basic editor copier l'ensemble de vos macro dans le module du projet PERSONNAL.XLSB.

Fermez le Visual Basic Editor

Retournez dans la personalisation du Rubban

Cliquer Sur Nouvel Onglet en bas à droite. Renommez le BARRE_PERO par exemple.
cette onglet va venir s'ajouter à la liste mettez le en surbrillance et cliquer sur Nouveau Groupe (vous pouvez en créer un ou plusieurs si vous souhaitez regrouper certaines macros ensemble) Renommez là MACROS par exmple

Dans le menu déroulant en haut à gauche sélectionnez "Macros"

Vous devriez voir apparaitre tous les titres des macros copier dans le module du projet PERSONNAL. Ajouter les Macros que vous souhaiter en cliquant sur "Ajouter" entre les deux listes (veillez à avoir mis en surbrillance le groupe MACROS avant en cliquant dessus).

Apartir de là si vous fermer la fenêtre vous pourrez voir votre onglet BARRE_PERSO et si vous cliquez dessus les Macros ajouté seront dans le RUBBAN.
Après vous pouvez les peronnaliser en rajoutant des icone lorsque vous Les renommer dans la fenêtre de personnalisation.

J'espère que les explications sont claire et qu'elles vont vous permettre de mettre à jour votre barre de menu sur Excel 2010;
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
22 août 2014 à 16:18
Bonjour,

Attention, avec cette méthode, on perd la portabilité du fichier, sur n'importe quelle machine, pour n'importe quel utilisateur et pour plusieurs versions (xl2002 et au delà)..

Cordialement
Patrice
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
Modifié par Patrice33740 le 22/08/2014 à 16:07
Bonjour,

Je suis surpris que les barres d'outils ne soient pas dans l'onglet complément.
J'utilises la même méthode mais je n'ai pas eu de soucis au passage vers 2010.

Est-tu certain que la dernière version de tes barres sont bien contenues dans le classeur (pas dans Excel) ?
Avec 2003, via le menu Barres d'outils / Personnaliser / Attacher :
Supprimes les barres de la fenêtre « barres d'outils dans le classeur » et remplaces par celles situées dans la fenêtre « barres d'outils personnalisées »

Pour éviter que les barres ne restent en permanence dans Excel, j'utilise :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Bar As CommandBar
  For Each Bar In Application.CommandBars
    If Not Bar.BuiltIn Then
      Select Case Bar.name
        Case "MaBarre1"
          Bar.Delete
        Case "MaBarre2"
          Bar.Delete
        Case "MaBarre3"
          Bar.Delete
    End If
  Next
End Sub

Private Sub Workbook_Open()
  Dim Bar As CommandBar
  For Each Bar In Application.CommandBars
    Select Case Bar.name
      Case "MaBarre1"
        Bar.Visible = True
      Case "MaBarre2"
        Bar.Visible = True
      Case "MaBarre3"
        Bar.Visible = True
      Case Else
        If bar.BuiltIn Then bar.Visible = False
    End Select
  Next
End Sub

Cordialement
Patrice
0
Bonjour,
Merci à tous les deux. J'apprécie à sa valeur le temps que vous avez pu passer regarder mon problème et à me répondre. Comme vous avez compris, je travaille encore la journée et CCM c'est pour le soir, éventuellement le week-end. D'où ma réponse seulement maintenant.
Je ne vous ai pas très bien compris, et peut-être me suis-je pas très bien exprimé.
J'ai un paquet assez conséquent de macros, et de sous-macros imbriquées, dont les macros principales sont commandées par des icônes personnalisées regroupées sur des barres d'outils personnalisées; mais je n'ai pas de menus autres que les menus systèmes.
Mon problème, aujourd'hui, est que je ne retrouve plus la maîtrise que j'avais auparavant de mes barres d'outils. Elles se sont pour beaucoup, mais pas toutes, regroupées dans l'onglet Compléments dans le plus grand désordre dans lequel je ne m'y retrouve pas moi-même. Certaines commandes faisant appel à des macros enregistrées dans des fichiers supprimés ou renommés plusieurs fois en fonction des évolutions et des besoins. Je vous envoie via cjoint.com un exemple de ce que ça donne pour le moment.
http://cjoint.com/?3HxaESEZlen
Je ne suis pas complètement novice avec E-2010 parce que je l'utilise chez moi depuis 3 ans y compris les macros, mais pas les boutons personnalisés ni les compléments, et au travail, où je m'en sers le plus, j'avais E-2003.
En regardant la bête de plus près, je me suis rendu compte que je pouvais supprimer à la main les barres d'outils complètement inutiles parce que les macros jointes sont perdues. Par ailleurs je peux essayer de conserver quelques boutons importants en bidouillant à partir de E-2003 des barres reconstituées de mon fichier support actuel, et en simplifiant la lecture actuelle des macros qui sont particulièrement brouillonnes. Enfin, j'ai vu qu'il était possible d'ouvrir un ou des onglets personnalisés pour y entrer des macros et fonctions personnalisées. La dernière difficulté étant qu'il n'est plus possible de redessiner soi-même des icônes, et qu'on est obligé de passer par les modèles proposés par Excel.
Sinon, auriez-vous d'autres propositions?
Encore merci!
0
m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 11 269
23 août 2014 à 01:41
Bonjour,

Personnellement, je crée effectivement un onglet spécifique à l'entreprise, avec des groupes, et je mets les boutons qui appellent les macros. Ces macros sont des macros complémentaires conservées dans un fichier XLAM et rangées dans le répertoire Addins. Il faut juste l'activer dans les compléments (via les options de l'onglet Fichier).
C'est plus clean que l'onglet Complément.

Tu peux mettre sur le ruban tous les icônes proposés par Excel. Maintenant si ces icônes ne suffisent pas, il y a une bibliothèque d'icônes importantes mais effectivement limitée dans le sens où tu ne peux pas créer tes propres boutons. Par contre, la personnalisation est un peu plus compliquée et se fait directement dans le fichier xlm.

Ce fichier xlm contient la personnalisation du ruban et de la barre d'outils Accès rapide. Tu peux ainsi distribuer à tes collègues le fichier xlam qui contient les macros complémentaires et le fichier Excel.officeUI à ranger ici (pour une configation par défaut) :
C:\Utilisateurs\Nom utilisateur\AppData\Local\Microsoft\Office

m@rina


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci pour ta réponse M@rina,
Mais je suis pas savant du tout en programmation, juste autodidacte en bidouillant par jeu. Aussi, les fichiers "XLAM" et les répertoires "Addins", pour moi c'est vraiment du chinois. De plus je dois penser aux collègues et à mon successeur (ma ?), pour qui je passe pour un crack, et au fait que je les quitte à la mi-septembre; il faut absolument qu'elles puissent prendre la suite sans n'être que des utilisatrices hébêtées. Nous sommes infirmier(e)s, le reste est perso.
Ta réponse m'intéresse beaucoup évidemment, mais pas si sophistiquée!
A demain si tu veux.
Tous mes remerciements.
0
m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 11 269
23 août 2014 à 11:32
Bonjour,

Une macro complémentaire ce n'est rien de plus qu'un classeur que tu enregistres avec l'extension xlam au lieu de xlsm... C'est tout !
Les macros se modifient comme n'importe quelles macros enregistrées dans un classeur xlsm. Faut pas en avoir peur. L'intérêt c'est que ces macros deviennent accessibles depuis n'importe quel fichier et de plus ça n'empêche pas les utilisateurs de créer leurs propres macros dans leur fichier personnel.
Il faut simplement ranger le classeur xlam ici :
C:\Utilisateurs\Nom utilisateur\AppData\Roaming\Microsoft\AddIns

Puis dans Fichier, Options, Compléments => Compléments Excel (en bas), cocher le classeur en question.

Fais un petit test et tu verras que c'est fort simple. De plus ça donne un produit fini ! ;)

Si tu veux, je te ferai un petit exemple.

m@rina
0
Merci pour tes indications, Marina.
Je crains pourtant que cela n'apparaisse encore bien compliqué pour les utilisateurs. Nos connaissances courantes en Office restent très élémentaires. Je testerai, ne serait ce que pour moi, mais pour le travail cela me parait scabreux d'autant que je ne suis même pas sûr que nous ayons accès au répertoire AppData\Roaming\Microsoft\AddIns .
Pour le moment, je vais déjà faire le ménage dans mes modules et les organiser de manières claire et un peu logique.
Bien à toi.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
Modifié par Patrice33740 le 24/08/2014 à 15:57
Bonjour,

Je viens de regarder ton classeur et je comprend pas ton problème :
- Je retrouve dans l'onglet Complément les 2 mêmes barres que celle qui s'affichent avec Excel 2003 (Plan, et MacrosPlanMed), les autres barres sont présentes mais pas visibles (elles sont telles qu'elles ont été enregistrées dans le classeur lors du "Attacher" !!!).
- Je n'ai pas trouvé comment tu gères la visibilité et le masquage des barres lors des différentes commandes, il existe bien des macros mais elles ne sont pas exécutées

Places le code ci-dessous dans le module ThisWorkbook. Enregistres le fichier. Fermes-le. Réouvres le : toutes les barres seront présentes aussi bien avec 2003 que dans l'onglet complément de 2010.

Private Sub Workbook_Open()
Dim Bar As CommandBar
Dim MesBarres(1 To 2, 1 To 6) As Variant  '1: Nom, 2: Visible
Dim NomsBarres As Variant
Dim NomBarre As Variant
Dim Position_Barre As Long
Dim ctr As Integer
  
  'Initialiser les barres classiques et masquer toutes les barres personnelles
  For Each Bar In Application.CommandBars
    Select Case Bar.Name
      Case "Worksheet Menu Bar"  'Barre de menus Feuille de calcul
        Bar.Visible = True
        Bar.RowIndex = 1
        Bar.Left = 0
      Case "Standard"            'Standard
        Bar.Visible = True
        Bar.RowIndex = 3
        Bar.Left = 0
      Case "Formatting"          'Mise en forme
        Bar.Visible = True
        Bar.RowIndex = 3
        Bar.Left = 1
     Case Else
        If Not Bar.BuiltIn Then Bar.Visible = False
    End Select
  Next

  'Inialiser les barres personnelles et les placer dans l'ordre choisi
  MesBarres(1, 1) = "BarreMacrosC1": MesBarres(2, 1) = True
  MesBarres(1, 2) = "BarreMacrosC2": MesBarres(2, 2) = True
  MesBarres(1, 3) = "BarreMacrosC3": MesBarres(2, 3) = True
  MesBarres(1, 4) = "MacrosPlanningMed": MesBarres(2, 4) = True
  MesBarres(1, 5) = "BRV": MesBarres(2, 5) = True
  MesBarres(1, 6) = "Plan": MesBarres(2, 6) = True
  For ctr = LBound(MesBarres, 2) To UBound(MesBarres, 2)
    On Error Resume Next
    Set Bar = Application.CommandBars(MesBarres(1, ctr))
    On Error GoTo 0
    If Not Bar Is Nothing Then
      Bar.Enabled = True
      Bar.Visible = True
      Bar.Position = msoBarTop
      Bar.RowIndex = 4
      Bar.Left = Position_Barre
      Position_Barre = Position_Barre + Bar.Width
      Bar.Visible = MesBarres(2, ctr)
    End If
  Next

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Bar As CommandBar
  For Each Bar In Application.CommandBars
    If Not Bar.BuiltIn Then
      Select Case Bar.Name
        Case "BarreMacrosC1"
          Bar.Delete
        Case "BarreMacrosC2"
          Bar.Delete
        Case "BarreMacrosC3"
          Bar.Delete
        Case "BRV"
          Bar.Delete
        Case "MacrosPlanningMed"
          Bar.Delete
        Case "Plan"
          Bar.Delete
      End Select
    End If
  Next
End Sub

Dans un premier temps ça te permettra de retrouver toutes tes barres, ce qui devrait te permettre de finir d'adapter le reste de ton code à 2010.

Adaptes-le à tes besoins pour la visibilité des barres à l'ouverture du classeur, mais dans ce cas tu dois aussi gérer la visibilité en fonction des commandes (aussi bien dans Excel 2003 que 2010) ce qui n'est pas le cas actuellement

Tu auras peut-être le temps ultérieurement d'appliquer la solution proposée par m@rina (bonjour amical) qui donne un produit bien plus convivial.

Cordialement
Patrice
0
Bonjour et Merci Patrice,
Comme j'avais dit, beaucoup des barres de commandes et les macros ont été écrites sur une dizaine d'années, d'où le foutoir auquel je comprenais plus rien moi-même et mon embarras actuel.
"Je n'ai pas trouvé comment tu gères la visibilité et le masquage des barres lors des différentes commandes". En fait, je ne les gérais pas trop, vu que j'étais seul à les utiliser, et que je laissais ouvertes les barres dont j'avais besoin dans le poste que j'occupais; mais inversement c'est aussi la nécessité où je me trouve aujourd'hui dy mettre de l'ordre.
Je retiens particulièrement tes 2 codes qui me permettront de retrouver les barres plus ou moins perdues.
Aujourd'hui j'ai pu négocier avec le service informatique la réinstallation d'Excel 2003 en parallèle avec E-2010 pour quelques semaines, ce qui me permettra de mettre mon système au carré. "tu dois aussi gérer la visibilité en fonction des commandes", C'est bien mon avis et je m'y attacherai dare-dare.
Enfin pour le reste, ("il existe bien des macros mais elles ne sont pas exécutées "), je te rassure, ce sont des macros imbriquées ou bien des fonctions personnalisées.
Bien à toi, et encore merci.
0