Problème avec VBA sous excel

  • Créateur du sujet Créateur du sujet guitou
  • Date de début Date de début

guitou

Membre confirmé
2 Mars 2006
51
1
Bonjour,

Je suis sur iMac G5 et j'utilise Office X.
Lorsque j'étais en version Mac OS 10.4.2, VBA sous Excel fonctionnait parfaitement.
Je viens de faire la mise à jour Mac OS 10.4.6, et là, je suis dans l'incapacité d'utiliser
VBA pour créer des objets dans une macro.
Voilà le message qui apparait lorsque je veux créer une UserForm dans un module:
"Microsoft Visual Basic
La classe n'est pas enregistrée.
Recherche d'un objet avec CLSID :
(C62A69F0-16DC-11CE-9E98-00AA00574A4F)"

Est ce que quelqu'un aurait déjà été en présence de ce problème, si oui quoi faire?
et de d'où celà peut-il provenir.

Avec tous mes plus sincères remerciements anticipés.
 
Salut.
Tu n'as pas un bout de code qui génère cette erreur ?
Au moins pour vérifier si elle est dépendante de ton installation ou non.
 
Bonjour et merci pour la réponse,

Non, il n'y a pas de code que j'ai écrit ni qui a été écrit. Lorsque j'ouvre Visual Basic
Editor dans le menu outils d'excel et que je choisis dans le menu insertion Module, Module
de classe ou procédure, tout se passe bien, il n'y a que lorsque je veux inclure une
UserForm que le message apparait et rien ne se produit.
De plus, lors de l'ouverture d'un classeur contenant une UserForm deux messages apparaissent.
"Microsoft Visual Basic
Des erreurs se sont produites au cours du chargement."
"Micrososft Visual Basic
Impossible de charger ou de décharger cet objet."

Merci à vous.
 
Sur mon iMac G4 sous OS X 10.4.6, le problème ne se pose pas, je pense que tu devrais réinstaller Excel !
 
Bonjour ,

J'ai déjà procédé à la réinstallation d'Office (sans le supprimer), ainsi qu'aux diverses
MAJ sur mactopia, mais celà est identique.
Je vais réessayer.
Merci
 
Non, si tu l'a déjà fait, il faut chercher ailleurs. Une première piste, crée un utilisateur de test, logue toi sur sa cession et voies si ça fait pareil. Si ça marche, faudra chercher du côté des préférences (je pars du principe que tu as réparé les autorisations).
 
Bonjour,
Oui, j'ai restauré les autorisations avec OnyX.
Je vais essayer de faire ce que tu me dis (celà est moins sur que j'y arrive, car celà fait
peut de temps de je travaille avec MacOSX), mais qui risque rien n'à rien. Je te tiens au
courant.
Merci.
 
Bonjour,

J'ai regardé pour l'utilisateur de test, est ce l'utilisateur root?, je ne vois pas comment faire
ce que vous m'avez expliqué.

Est ce qu'en supprimant Office avec l'application de suppression de microsoft et le réinstallant, les préférences seraient changées? (mon problème pourrait peut être provenir
de là). Car, après la restauration des autorisations, à l'ouverture d'excel, de word, etc,
un message m'a fais savoir que c'était la première fois que j'ouvrais les applications et me demandais soit d'annuler soit d'ouvrir.

Merci.
 
guitou a dit:
Bonjour,

J'ai regardé pour l'utilisateur de test, est ce l'utilisateur root?, je ne vois pas comment faire
ce que vous m'avez expliqué.

Est ce qu'en supprimant Office avec l'application de suppression de microsoft et le réinstallant, les préférences seraient changées? (mon problème pourrait peut être provenir
de là). Car, après la restauration des autorisations, à l'ouverture d'excel, de word, etc,
un message m'a fais savoir que c'était la première fois que j'ouvrais les applications et me demandais soit d'annuler soit d'ouvrir.

Merci.

Je ne suis pas sûr que la désinstallation supprime les préférences.

Pour ton utilisateur "test" (je l'ai appelé comme ça car le but est de tester), non, ce n'est pas root, c'est un utilisateur normal (pref système -> comptes, et tu crée un nouveau compte en cliquant sur le petit bouton [+] en bas de la liste des utilisateurs, et une fois que c'est fait, tu reviens sur le bureau, menu pomme tu ferme ta session (dernière ligne tout en bas), et tu te logue sur l'utilisateur test, tu lance excel et tu réessaies de créer un formulaire.
 
Bonjour et merci,

J'ai fait ce que tu as dit et excel fonctionne très bien en session test.
S'il te plait d'où celà provient et que dois je faire maintenant, je suis revenu en session normale.

Encore tous mes remerciements et à +
 
Alors, tu clique sur ta petite maison (home), tu vas dans le dossier "bibliothèques/preferences/Microsoft, et tu retires un par un en retestant entre chaque retrait, et dans cet ordre :

1) VBA Preferences
2) Microsoft Excel.box
3) Microsoft Excel
4) Com.Microsoft.Excel.prefs.plist

en remettant ensuite le fichier au même endroit si ça ne solutionne pas le problème.

Après ça, si ça ne marche toujours pas, tu remontes dans "preferences" et tu réessaies en supprimant com.Microsoft.excel.plist.

Si ça ne marche toujours pas, tu reessaies en supprimant cette fois les cinq fichiers.

Si après ça toujours pas de résultat, tu prends le dossier preferences/Microsoft de l'utilisateur Test et tu le met à la place du tien.

Tu nous tiens au courant du résultat !
 
Bonjour,

Tout est OK pour l'instant, je suis allé dans départ / Bibliothèque / Preferences, et j'ai supprimé le dossier preference Microsoft. Puis j'ai rouvert les applications d'Office pour recréer un dossier preferences et maintenant tout va pour le mieux.

Je tiens à vous remercier pour l'aide que vous m'avez apportée à bientôt et si par hasard vous aviez un remède pour la lenteur de Safari faites moi le connaitre.

Encore merci pour tout.
 
Rebonjour,

Merci pour tout Pascal 77, je viens de suivre ton conseil et j'ai ouvert un fil sur le forum Internet.

à+
 
guitou a dit:
Rebonjour,

Merci pour tout Pascal 77, je viens de suivre ton conseil et j'ai ouvert un fil sur le forum Internet.

à+

De rien, c'était avec plaisir :zen:

Excel est mon jeu informatique préféré ;), si tu as d'autres soucis ou questions, n'hésite pas à repasser par ici. :)
 
Bonjour.

Je travaille sur un macbook (intel - os x leopard). J'ai installé la suite Office 2004 pour Mac uniquement pour pouvoir travailler sur des Macros excel. En effet, j'utilise des plateformes Excel programmées en visual basic depuis un PC par l'un de mes collègues.
Je rencontre énormément de difficultés à faire fonctionner ces macros sur mon mac, et le débogueur se lance quasi systématiquement.
Pourriez vous me dire si je dois installer un patch pour que ma version d'excel accepte les macros PC? Faut-il que j'upgrade pour la version 2008 d'office pour mac? Ou bien mon problème est-il sans solution??

J'espère vraiment que vous pourrez me venir en aide.
Bien cordialement,
Eric
 
Pourriez vous me dire si je dois installer un patch pour que ma version d'excel accepte les macros PC? Faut-il que j'upgrade pour la version 2008 d'office pour mac ? Ou bien mon problème est-il sans solution ??
Déjà, une chose est facile à préciser : pas besoin d'installer Office 2008, puisqu'il n'y a pas de VBA du tout dans cette version.

Il n'existe pas non plus de "patch" pour convertir une macro qui ne tourne pas. Il faut l'analyser, isoler les parties qui ont été écrites sans tenir compte des différences entres les versions Windows et Mac et adapter ce qui peut/doit l'être.

Quand le débogueur se lance, il faut regarder ce qui le bloque et essayer de comprendre quelle en est la cause. C'est souvent des trucs tout bêtes (des chemins d'accès de type "C:\Mes Documents", etc.) qui ne peuvent rien donner sur un Mac et qu'il faut adapter. Souvent, on obtient de bons résultats en recourant à la compilation conditionnelle. Et quand on cale devant une instruction, il n'est pas rare qu'un petit bout d'AppleScript permette de s'en sortir. Tout ça, évidemment, tant qu'on ne tombe pas sur des appels à des fonctionnalités inexistantes sur le Mac (comme les Contrôles ActiveX, par exemple) ou des bugs (car il y en a, bien entendu)...

Bref, pas de réponse simple, simplement les bons vieux conseils : cent fois sur le métier, remettez votre ouvrage ;)
 
là par exemple je clique sur un bouton de la macro, on m'indique : "Nombre d'arguments incorrect ou affectation de propriété incorrecte", puis ça lance le débogueur.

surlignée la ligne suivante : "Sub USFAppelClasseShow()"

Qu'est ce que ça veut dire? il ne trouve pas un module qui s'appellerait USFAppelClasse ?
s'agit-il d'une ligne dans ma feuille excel dont je dois lui indiquer l'emplacement?


PS : pour revenir à mon message précédent, il vaut donc mieux que je conserve ma version 2004 ?
 
qu'appelles-tu la compilation conventionnelle??
J'ai parlé de "compilation conditionnelle". C'est une méthode d'écriture qui permet de ne compiler que les parties qui concernent la plateforme sur laquelle la macro est lancée. En gros :
Bloc de code:
# If Mac then
    Code concernant le Mac
# Else
    Code concernant le PC
# End If
Le mieux, c'est de commencer par regarder l'aide dans l'éditeur Visual Basic.

Qu'est ce que ça veut dire ? il ne trouve pas un module qui s'appellerait USFAppelClasse ?
s'agit-il d'une ligne dans ma feuille excel dont je dois lui indiquer l'emplacement ?
Non, ce que tu indiques est le nom de la procédure qui ne peut pas s'exécuter pour la raison indiquée. Mais c'est un peu plus complexe que ça. J'ai l'impression que tu n'es pas très familiarisé avec les macros VBA. C'est un langage de programmation puissant, qui nécessite un certain apprentissage. Il vaudrait probablement mieux que tu contactes la personne qui développe la macro pour lui soumettre ton problème.

Concernant les macros VBA, certainement. C'est même la raison pour laquelle je continue à utiliser Excel 2004 alors que j'utilise Entourage 2008 et Word 2008 ;)