Problème avec VBA sous excel

  • Créateur du sujet Créateur du sujet guitou
  • Date de début Date de début
effectivement, je ne suis vraiment pas familiarisé avec ce langage, ni la programmation en général à vrai dire.
pourrais-tu m'indiquer un site facile d'accès, un tutoriel "pour les nuls" pour comprendre et apprendre les macros excel?

ou bien, à défaut de tout comprendre, pouvoir simplement retrouver les quelques paramètres PC non acceptés par mac, et les modifier pour qu'ils soient acceptés.

je peux en effet contacter le collègue qui a réalisé cette macro, mais lui ne connait rien à Mac, et aussi je me dis que cet obstacle que je rencontre là est une bonne occasion pour m'y mettre, non?!
merci pour tout.
éric
 
pourrais-tu m'indiquer un site facile d'accès, un tutoriel "pour les nuls" pour comprendre et apprendre les macros excel ?
Non, pas trop, d'autant plus que ce qui existe est généralement plutôt destiné aux versions Windows et donc n'aborde pas trop les différences entre les deux versions. Disons que, pour l'essentiel, les versions Mac ont du VBA5, comme Excel 97 pour Windows, alors que chez nos "cousins", ils sont rapidement passés à du VBA6 qui comporte quelques instructions complémentaires (et donc non utilisables telles quelles).

Il y a bien longtemps, je m'étais amusé à regrouper un certain nombre d'infos concernant les différences entre les versions Mac et Windows en matière de VBA. C'est un peu incomplet et pas mal bricolé, mais ça peut être un bon début. Je le mets en PJ. De même qu'un petit manuel de cohabitation VBA/AppleScript que j'avais fait et qui peut être bien utile. Mais certaines instructions AppleScript ont changé entre temps, ce qui complique un peu. De ce point de vue, tu peux aussi regarder le superbe document "Guide de transition de VBA vers AppleScript" disponible en ligne sur le site de MacTech. Un outil précieux pour comprendre pas mal de choses en matière de programmation AppleScript et aussi, par "rebond" en VBA.

je peux en effet contacter le collègue qui a réalisé cette macro, mais lui ne connait rien à Mac, et aussi je me dis que cet obstacle que je rencontre là est une bonne occasion pour m'y mettre, non ?!
Oui, bien sûr, toutes les occasions sont bonnes pour apprendre des choses et, si on en a un peu le goût, la programmation, ça peut être passionnant. Mais c'est comme tout, ça prend du temps. Et il faut bien dire que l'éditeur VBA de la version Mac est très pauvre, ce qui ne nous aide pas beaucoup. Personnellement, j'utilise habituellement la version Windows pour écrire mes macros et ne les transporte sur le Mac que pour les dernières étapes et les tests (pendant longtemps, j'utilisais même Virtual PC pour ça).
 
merci beaucoup, bernard.
je vais essayer de trouver les coquilles que Mac ne digère pas.
En réalité je réalise que ce sont des macros très basiques, et si ça se trouve les corrections à apporter sont vraiment minimes.

Mais quand tu parles d'AppleScript, il s'agit d'un langage différent utilisé par excel mac, ou est-ce le nom de l'équivalent de VBA sur Mac?

merci
 
Non, AppleScript est un langage distinct de VBA, utilisable pour programmer Excel mais là seulement sur Mac !
 
Merci.
pouvez-vous me préciser si les alinéas sont importants, j'ai l'impression que les copier-coller dérèglent les écarts d'alinéa, ce qui perturbe la programmation?
de même, lorsque les emplacements de fichiers sont indiqués sur windows avec des anti-slash et sur Mac avec des " / ".

Quel est la démarche à adopter? je remplace la commande c:\mesdocuments\blabla par
Users/éric/blabla ? Quelle racine faut-il indiquer avant "Users" ?

Et j'ai bien compris dans le document de Bernard que le signe "*.format" n'était pas reconnu sur excel Mac. je vais donc faire la chasse aux étoiles...
 
pouvez-vous me préciser si les alinéas sont importants, j'ai l'impression que les copier-coller dérèglent les écarts d'alinéa, ce qui perturbe la programmation ?
Oui, quand on copie-colle, il est préférable de supprimer tout ce qui est en début de ligne et de refaire si on le souhaite l'indentation (qui ne sert que pour la bonne compréhension et n'a pas d'utilité fonctionnelle).

de même, lorsque les emplacements de fichiers sont indiqués sur windows avec des anti-slash et sur Mac avec des " / ".
Quel est la démarche à adopter? je remplace la commande c:\mesdocuments\blabla par
Users/éric/blabla ? Quelle racine faut-il indiquer avant "Users" ?
Les emplacements sur Mac se notent typiquement "Disque dur:users:eric:blablabla" (c'est toujours les deux points qui sont reconnus comme séparateurs sur Mac par VBA).

Et j'ai bien compris dans le document de Bernard que le signe "*.format" n'était pas reconnu sur excel Mac. je vais donc faire la chasse aux étoiles...
Oui, pas de "joker" ;)
 
Bonjour,

j'ai le même soucis, je débute sous VBA pour des cours d'informatique appliquée à la finance. Les ordinateurs à la fac sont sous XP quand je fais les exercices là bas pas de soucis, mais dès que je veux relancer ces derniers sur mon mac (j'ai installé Excel 2004 avec les macro, le module VBA...) il bloque et me renvoie au "Subint". J'ai vérifier donc dans le script de la page Int mais rien ne parait anormal. D'après mon prof vba sous mac ne ferait pas de boucle (ce qui me parait vraiment bizarre).
Avez vous une solution

voici le script
 
Les ordinateurs à la fac sont sous XP quand je fais les exercices là bas pas de soucis, mais dès que je veux relancer ces derniers sur mon mac (j'ai installé Excel 2004 avec les macro, le module VBA...) il bloque et me renvoie au "Subint". J'ai vérifier donc dans le script de la page Int mais rien ne parait anormal.
Avec l'image on ne peut pas voir grand chose. Il bloque au début d'une procédure Sub, mais on ne peut pas dire pourquoi juste avec ça. Il faut faire une analyse plus complète, exécuter pas à pas et voir les messages d'erreur, tout ça...

D'après mon prof vba sous mac ne ferait pas de boucle (ce qui me parait vraiment bizarre).
Comme quoi il n'est pas à l'abri d'une ânerie (mais qui l'est ?) Le VBA disponible sur les versions Mac est assez proche de celui qui fonctionnait sur Excel '97, pour faire simple. Et quand on s'en donne la peine, on peut faire des macros qui fonctionnent indifféremment sur les versions Mac ou Windows (avec éventuellement de la compilation conditionnelle quand c'est utile, voir plus haut). Ce qui ne veut pas dire que n'importe quelle macro écrite sous Windows peut tourner sur Excel Mac (loin de là).

Il faut plutôt chercher les causes dans les différences entre les fonctions disponibles (ne pas perdre de vue, par exemple, que c'est VBA6 pour la version Windows contre VBA5 pour la version Mac), dans les différences entre les paramètres admis par les fonctions (qui peuvent ne pas être les mêmes, dans certains cas), dans les appels à des API Windows qui n'ont pas d'équivalent sur Mac,...

Pas évident du tout que tu puisses faire tourner tes macros sur un Mac, à moins que ton prof ne l'ait écrite en tenant compte des différences entre les versions (mais visiblement, ça ne doit pas être le cas). Il est bien possible que la seule solution consiste à installer Excel pour Windows sur ton Mac. Si c'est un MacIntel, tu peux tenter ta chance avec Crossover (qui te permettrait de te passer de Windows), ou Boot Camp, ou encore Parallels ou Fusion...

Personnellement, j'ai pendant longtemps préféré travailler les macros en utilisant l'éditeur VB (bien plus complet et plus rapide) de la version Windows via VirtualPC, et ne récupérais les macros dans la version Mac que pour les derniers tests.