Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

menu

A

alain

Guest
je voudrai faire un menu quand j'ouvre un classeur y a t'il une personne parmi vous qui peux me donner un modele (exemple trois boutons pour lancer des macros diferentes merci de votre saide

Alain
 
@

@+Thierry

Guest
=> Problème de Référence aux Biblothèques : Migration descendante XLXP => XL2000

Salut à tous,

Dan m'a demandé de regarder ce problème...

Je pense avoir compris... Enfin... Compris est un grand mot car je n'ai pas la solution...

Dans le post d'Alain du 19-01-04 15:49 je lis :
"J’ ai fait des essai sur office 97,2000,2000 xp"

En fait "2000 XP", je comprends 2002 XP (Excel 10...)

Pour le problème c'est simple, çà vient des références aux bibliothèques... j'ai ouvert le fichier de Dan "Menu_Alain-66169-V2.xls" sous Excel 2000 (XL 9) sans aucun souci ....

J'ai ouvert le fichier d'Alain "stock_lancement.xls" sous Excel 2000 (XL 9) et j'ai bien ce message :



Ensuite, je regarde mes références (toujours avec stock_lancement.xls ouvert) :




Ensuite je ferme tout et ré-ouvre mon Excel et j'ai bien (comme d'habitude) :



Donc le problème vient clairement des références, d'ailleurs là, si je rajoute manuellement "Microsoft Office 9.0 Object Library" pendant que le fichier d'Alain est ouvert, la macro de Dan "CreateCustomCommandBar" fonctionne très bien.... Et si, ensuite, je l'enregistre ainsi, je peux ré-ouvrir "stock_lancement" sans aucun problème...

Pour moi c'est clair, c'est encore un coup d'XP !!!

Sur ce coup là je demand à Ti de venir à la rescousse, car il a plus l'habitude de cette migration. Je reste inquiet car si ma théorie s'avère juste, toute appli dévelopée avec des appels à des références non standard, risque, une fois ouverte et sauvée sous XP, d'avoir ce genre de problème si on la ré-utilise dans une version antérieure... Danger !!!

Donc en attendant Ti, si vous avez XP, essayer d'ouvrir le fichier Lien supprimé et dites nous si vous avez des problèmes.

Merci d'avance à tous et toutes
@+Thierry
 
T

Ti

Guest
si on déclare la référence "Microsoft Office Object library" la migration devrait se faire sans problème. Cette référence est ajoutée automatiquement par XL XP, il faudrait attendre demain pour voir ce qu'il en est dans XL 2000.

Moi je n'ai pratiquement jamais (en tout cas je ne m'en souviens pas) de problème entre mes propres fichiers créés sous une version et réutilisés ensuite dans une autre, ce qui m'arrive très fréquemment.
 
L

LaurentTBT

Guest
Bonjour à tous

Même problème sous excel 2002 XP.

Voici une procédure à effectuer au tout début de Workbook_Open qui va charger les 2 bibli manquantes:

Sub Bibli()
If Val(Application.Version) > 9 Then
Application.VBE.ActiveVBProject.References.AddFromFile "C:\WINDOWS\System32\FM20.DLL"
Application.VBE.ActiveVBProject.References.AddFromFile "C:\Program Files\Fichiers communs\Microsoft Shared\Office10\mso.dll"
End If
End Sub[b/]

Si un tel problème arrivait pour d'autres bibliothèques, un petit truc pour retrouver leur emplacement:

Charger manuellement la bibli concernée, puis cette ligne permet de connaitre le chemin d'accès à cette bibli:

Range ("A1")=Application.VBE.ActiveVBProject.References.item(5).fullpath
On peut par exemple faire une boucle sur toutes les références et noter dans une feuille excel les infos:

For i=1 ti Application.VBE.ActiveVBProject.References.count
Range("A65536").end(xlup).cells(2,1)=
Application.VBE.ActiveVBProject.References.item(i).fullpath
next i


Bon, je vais être en retard, alors bonne journée à tous, en espèrant vous avoir aidé.

Laurent.
 
D

Dan

Guest
Salut les potes de XLD, Alain,

Message à Thierry : Je me demandais effectivement si le pb ne venait de genre d'un manque de librairie, d'objet ou autre chose dans VBA . Malgré quelques heures passées encore cette nuit mon expérience VBA fait défaut pour aller directement au but donc il fallait bien faire appel à l'équipe. Donc un grand merci à toi d'être venu à la rescousse .

Merci aussi à Pat5 d'avoir fait ses essais et à Ti la Cerise sur le gâteau d'avoir conforté les intervenants.

Comme le suggère Thierry, j'ai vérifié sous excel 97, les références dans le menu outils de VBA, et là en cochant Microsoft form 2object .0 library et Microsoft Office 8.0 object library, le fichier s'ouvre sans aucun pb.
Il faudra en tout cas retenir que VBA mémorise ces références par rapport au fichier et non par rapport à VBA lui même. Bizarre Bilou …

Reste plus qu'à Alain à nous dire si tout fonctionne convenablement.

Alors Alain....tu nous dis quoi ?

@+

Dan
 
D

Dan

Guest
Re,

Oups Laurent, je n'avais pas vu ton message (pourtant Bold !!!!!!). en fait j'étais mis du temps à envoyer ma réponse et sans lire s'il y avait de nouveaux posts arrivés.

Donc merci à toi aussi !!!!

@+

Dan
 
A

alain

Guest
Merci pour toutes vos recherches.

j'ai mis la macro comme dit LaurentTBT mais voila quand je colle la macro

il me donne un message End Sub[b/] il annonce ereur de compilation.
et quant je l'enleve sa tourne pas sa fait toujours les meme message.

et le deuxieme point je ne trouve pas ou aller pour voir les references vba
j'ai bien la dll MF20.dll comme tu montres sur ta réponse.mai pour aller voir si tout est bien coher.

Alain
 
D

Dan

Guest
Alain,

Tu ouvres ton fichier et dès que le message d'erreur est activé, tu déactives la macro. Ensuite dans VBA, tu fais :

1. menu / outils / références
2. Coches les case en regard des options données dans mon message ci-avant (ou celui de Thierry - Ti)
3. Confirme par OK
4. Puis enregistre cela dans VBA
5. Ferme ton fichier puis tu le réouvres

Cela devrait fonctionner normalement.

@++

DAn
 
A

alain

Guest
je viens de faire l'essai et tout baigne je remerci tout le forum pour leur participation au probleme et avoir trouver la solution.

si je peux me permetre une question complementaire pour les champion que vous etes .

pour sauvegarder un fichier avec une macro sans jamais avoir le meme nom.j'ai recupere la macro sur le forum et sa ne marche pas.

ActiveWorkbook.SaveAs "d:\mes documents\fichier\" & Sheets("feuil1").Range("a7").Value & ".xls"


Merci encore


Alain
 
D

Dan

Guest
Alain,

Bien vu ton message.

1. As-tu la ref du post où tu as trouvé cela ? Cette fonction te permet de sauvegarder un fichier dans ce répertoire (d:\mes documents ....) et de le nommer selon ce qui est écrit dans la cellule A7.

2. ce que l'on pourrait faire c'est ceci à la fermeture du fichier

- Demander si l'on veut sauvegarder le fichier ou non
- si oui, on place un boite Inputbox pour encoder le nom du fichier
- dès l'encodage effectué, on confirme
- la sauvegarde s'effectue dans un répertoire à définir et à inclure dans la macro

est-ce que cel te conviendrait ?

@+

Dan
 
A

alain

Guest
salut je viens de parcourir pas mal de page du forum et je n’ai pas retrouvé ou je l’ai trouvé
Par contre ton idée je vais la mettre en place et encore merci et je crois que vais rester fidèle a ce forum par contre si tu pouvais me donner des références sur des livres pour VBA que je puisse apprendre un peu plus.


Alain
 

Discussions similaires

Réponses
29
Affichages
1 K
Réponses
19
Affichages
908
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…