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 :

convertisseur de macro vba excel 2003 vers excel 2010


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut convertisseur de macro vba excel 2003 vers excel 2010
    Citation Envoyé par Philippe JOCHMANS Voir le message
    Bonjour

    Il n'existe pas de convertisseurs de macros, la compatibilité étant ascendante dans les applications Office, la plupart des macros fonctionneront sans problèmes sur Office 2010.

    Cependant il peut y avoir quelques bugs qu'il faut corriger comme le souligne helas tel que des références, etc...

    Philippe

    bonjour,

    J'ai lu cette discussion.
    Etant en galère sur le même problème, et vu les réponses apportées....

    Alors, non la compatibilité ascendante est loin d'être assurée, et par exemple de nombreuses macros 2003 ne tournent plus sous 2010 (-c'est mon cas).

    le site support de Microsoft est très clair ; Windows update est censé téléchargé des convertisseurs VBA ; moi je les attends toujours...

    Mais cela se limite à quelques DDL en général, qu'il suffit de copier dans différents répertoires.

    Exemple dans mon cas :

    vbacv10.dll, vbacv10d.dll: \Program Files (x86)\Common Files\Microsoft Shared\vba\vba7\
    xl5en32.olb, gren50.olb: \Program Files (x86)\Microsoft Office\Office14\
    vbaen32.olb, vbaend32.olb: \Windows\SysWOW64\

    le tout suivi de qq coup de Regedit dans un "convertisseur" ...

    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
    @echo off
    REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F3-0000-0000-C000-000000000046}
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F3-0000-0000-C000-000000000046}\1.0 /t REG_SZ /ve /d "Visual Basic For Applications" /f
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F3-0000-0000-C000-000000000046}\1.0\9 /f
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F3-0000-0000-C000-000000000046}\1.0\FLAGS /t REG_SZ /ve /d 0 /f
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F1-0000-0000-C000-000000000046}
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F1-0000-0000-C000-000000000046}\1.0 /t REG_SZ /ve /d "Visual Basic For Applications" /f
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F1-0000-0000-C000-000000000046}\1.0\9 /f
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F1-0000-0000-C000-000000000046}\1.0\FLAGS /t REG_SZ /ve /d 0 /f
    IF EXIST %SystemRoot%\SysWOW64 GOTO WOW
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F3-0000-0000-C000-000000000046}\1.0\9\win32 /t REG_SZ /ve /d %SystemRoot%\System32\VBAEN32.OLB /f
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F1-0000-0000-C000-000000000046}\1.0\9\win32 /t REG_SZ /ve /d %SystemRoot%\System32\VBAEND32.OLB /f
    GOTO EXIT
    :WOW
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F3-0000-0000-C000-000000000046}\1.0\9\win32 /t REG_SZ /ve /d %SystemRoot%\SysWOW64\VBAEN32.OLB /f
    IF NOT ERRORLEVEL 1 REG ADD HKEY_CLASSES_ROOT\TypeLib\{000204F1-0000-0000-C000-000000000046}\1.0\9\win32 /t REG_SZ /ve /d %SystemRoot%\SysWOW64\VBAEND32.OLB /f
    :EXIT
    IF ERRORLEVEL 1 ECHO VBE converter registration failed!
    IF NOT ERRORLEVEL 1 ECHO VBE converter registration succeeded!
    le tout est joué.

    Merci Microsoft pour la compatibilité ascendante des macros...

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Regarde dans ton aide de VBA. Il y a probablement une/des rubrique(s) sur les modifications apportées au modèle-objet des applications.
    Tu n'en parles pas dans ta question, et tu ne dis pas quel(s) problèmes tu as, mais il y a des modifications à apporter quand on passe d'un Office 32 bits à un Office 64 bits, notamment pour certains appels à l'API Windows, et la "perte" des contrôles de VB6.

    Ceci dit, j'ai Office 2010 à 64 bits, et j'ai été capable de faire tourner sans problème, ou avec des modifications mineures, des macros que j'avais faites avec Office 97 et Office 2002. Et puis, si j'avais décidé d'installer la version 32, j'aurais eu moins de choses à changer.

    Et puis, juste pour le fun, Avec Office 2010, il y avait même un SDK pour les vieilles macros xll d'Excel.

  3. #3
    Invité de passage
    Homme Profil pro
    expert comptable
    Inscrit en
    Janvier 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : expert comptable

    Informations forums :
    Inscription : Janvier 2017
    Messages : 1
    Par défaut
    Citation Envoyé par Philippe JOCHMANS Voir le message
    Bonjour

    Il n'existe pas de convertisseurs de macros, la compatibilité étant ascendante dans les applications Office, la plupart des macros fonctionneront sans problèmes sur Office 2010.

    Cependant il peut y avoir quelques bugs qu'il faut corriger comme le souligne helas tel que des références, etc...

    Philippe
    Bonsoir

    Peut on m'indiquer où est l'erreur sur cette macro non reprise sur 2010

    Enregistrement1 (a)
    =DEFINIR.NOM("Extraction";"=SEMAINE_1")
    =SELECTIONNER("L2C11")
    =FORMULE("1")
    =EXTRAIRE(FAUX)
    =DEFINIR.NOM("Extraction";"=SEMAINE_2")
    =SELECTIONNER("L2C11")
    =FORMULE("2")
    =EXTRAIRE(FAUX)
    =DEFINIR.NOM("Extraction";"=SEMAINE_3")
    =SELECTIONNER("L2C11")
    =FORMULE("3")
    =EXTRAIRE(FAUX)

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    ce n'est pas une macro excel 2003 mais excel 4.0 ce qui n'a rien à voir.
    Il faudrait que tu saches exactement ce qu'elle doit faire pour la refaire en vba.
    eric

Discussions similaires

  1. Portage application VBA de Excel 2007 vers Excel 2003
    Par panda31 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/01/2012, 18h44
  2. convertisseur de macro vba excel 2003 vers excel 2010
    Par mauguin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/10/2011, 18h13
  3. Migration de Excel 2003 vers Excel 2007
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/05/2009, 13h18
  4. Macro VBA EXCEL 2003 vers 2007
    Par Jacques13170 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2008, 19h23
  5. [EXCEL/C#] Piloter Excel XP compatible Excel 2003 ?
    Par legillou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 31/08/2006, 08h01

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