Macro EXCEL4 plante depuis passage à Office2016

Bonjour tout le monde.

J'ai un classeur comportant des sortes de macro (directement collées sur une feuille du classeur, et non pas dans un module VBA) qui plante depuis que j'ai migré vers office 2016. Sauriez vous pourquoi ? C'est une macro qui a plus de 15 ans, ca fonctionnais très bien jusque la !

Voici un extrait de la "macro"

RécupérationDeBalanceHibgest

=ECRAN(FAUX)

=ACTIVER.CLASSEUR("ParamBalHIBGEST")

=SELECTIONNER("RepSource")

=RETOUR()

RécupérationDeBalanceHibgestPartII

=ECRAN(FAUX)

=SI(DROITE(RepSource;1)="\")

= FORMULE(GAUCHE(RepSource;NBCAR(RepSource)-1);!RepSource)

=FIN.SI()

=FermerTousFT()

=SI(NON(ControlerExistanceFichier(RepSource&"\"&FicSource)))

= ALERTE("Impossible d'ouvrir le fichier "&FicSource&", vérifiez le chemin d'accès et le nom du fichier. Le fichier ne doit pas être en cours d'utilisation sous excel ou sous une autre application !")

= ACTIVER.CLASSEUR("Param")

= ARRETER()

=FIN.SI()

=ACTIVER.CLASSEUR("balance")

=SELECTIONNER("L"&LIGNE(!DébutRecherche)&"C1:L16384C10")

Merci d'avance pour votre aide

Bonne journée

Christophe

Bonjour,

"plante" ? Comment ?

As-tu autorisé les macros ?

Il ne s'agit pas de "sorte de macro" mais de macros Excel 4. La compatibilité fait qu'elles demeurent exécutables au fil des versions d'Excel. Mais il convient d'autoriser l'exécution des macros !

Cordialement.

Merci pour ta réponse.

Les macros sont bien activées.

En fait quand je la lance, j'ai un message box ERREUR DE LA MACRO A LA CELLULE A21

La cellule A21 c'est la ligne =SELECTIONNER("L"&LIGNE(!DébutRecherche)&"C1:L16384C10")

Je peux faire Arreter, Pas à pas, continuer Atteindre.

J'ai fait continué, j'ai le meme message pour la ligne A25 : =SELECTIONNER("L1C1")

J'ai essayé de cliquer encore et encore ca pose le même problème ligne après ligne.

Peut être qu'il est possible de le retranscrire en VBA ?

Quand je lance la macro avec office 2007 ca fonctionne parfaitement, mais pas depuis la version 2016.

On peut sûrement réécrire ça en VBA...

Les macros Excel 4 sont loin (et à l'époque j'étais passé de Multiplan à Lotus, pour ne revenir à Excel qu'avec la version 5 et VBA, je ne suis donc pas le mieux placé pour les macros Excel 4...). Mais au vu de ton erreur, j'essaierais de remplacer "L" par "R" pour voir ce que cela donne...

Cordialement.

MFerrand a écrit :

On peut sûrement réécrire ça en VBA...

Les macros Excel 4 sont loin (et à l'époque j'étais passé de Multiplan à Lotus, pour ne revenir à Excel qu'avec la version 5 et VBA, je ne suis donc pas le mieux placé pour les macros Excel 4...). Mais au vu de ton erreur, j'essaierais de remplacer "L" par "R" pour voir ce que cela donne...

Cordialement.

Cela fait la même chose

J'ai repéré l'echec de la macro.

Tout fonctionne justqu'a la ligne 28,

je colle ci après la macro de la ligne 1 à 28

RécupérationDeBalanceHibgest

=ECRAN(FAUX)

=ACTIVER.CLASSEUR("ParamBalHIBGEST")

=SELECTIONNER("RepSource")

=RETOUR()

RécupérationDeBalanceHibgestPartII

=ECRAN(FAUX)

=SI(DROITE(RepSource;1)="\")

= FORMULE(GAUCHE(RepSource;NBCAR(RepSource)-1);!RepSource)

=FIN.SI()

=FermerTousFT()

=SI(NON(ControlerExistanceFichier(RepSource&"\"&FicSource)))

= ALERTE("Impossible d'ouvrir le fichier "&FicSource&", vérifiez le chemin d'accès et le nom du fichier. Le fichier ne doit pas être en cours d'utilisation sous excel ou sous une autre application !")

= ACTIVER.CLASSEUR("Param")

= ARRETER()

=FIN.SI()

=ACTIVER.CLASSEUR("balance")

=SELECTIONNER("L"&LIGNE(!DébutRecherche)&"C1:L16384C10")

=EFFACER(3)

=POSER.NOM("ClasseurGestlec";LireNomDocument())

=OUVRIR(RepSource&"\"&FicSource)

=SELECTIONNER("L1C1")

=POSER.NOM("NbLig";1)

=TANT.QUE(NBCAR(CELLULE.ACTIVE())>130)

= SELECTIONNER("L(1)C")

Le problème ligne 21 : =SELECTIONNER("L"&LIGNE(!DébutRecherche)&"C1:L16384C10")

viens peut être du fait qu'il y a une erreur à ce niveau la : C1:L16384C10... je ne comprend pas cette instruction !

Je ne connais pas la syntaxe des macros Excel 4, mais je me demande le rôle du point d'exclamation devant DébutRecherche.

Et je m'interroge aussi sur L16384, car curieusement 16384 correspond au nombre de colonnes des nouvelles versions d'Excel.

Ne serait-ce point : L10C16384 ?

MFerrand a écrit :

Ne serait-ce point : L10C16384 ?

Mais oui ! C'est ce que je me suis aussi dit ! Je ne comprend pas pourquoi il y à a nouveau la lettre C10 apres 16384 !

Si je ne trouve personne pour résoudre le problème je vais devoir tout réécrire ! Ca va être du boulot ahahah

Rechercher des sujets similaires à "macro excel4 plante passage office2016"