XL 2013 Problèmes macro refacturation (Code de Dranreb)

an@s

XLDnaute Occasionnel
Bonjour à tous,

j'ai un code qui me permet en cliquant sur l'onglet RECAP de mettre à jour les données de la fenêtre ODA MATOS à partir de l'onglet MATOS.
hier après une mise à jour de windows le fichier ne fonctionne plus, et en cliquant sur l'onglet recap le message d'erreur que vous pouvez voir sur l'image ci-attachée s'affiche.

Merci pour votre aide
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    161.5 KB · Affichages: 15

an@s

XLDnaute Occasionnel
Bonjour Job,
Merci pour votre réponse, désolé je cru que c'était vous qui avais résolu cette problématique.
c'est la fin de moi et ce problème m'est arrivé ce matin et comme j'ai beaucoup de tâches à faire je perdrai beaucoup de temps pour le faire manuellement.
je ne sais pas si vous pouvez me donner un coup de main la dessus ou Dranreb que j'espère qu'il voit ce post.

Merci bien
 

Dranreb

XLDnaute Barbatruc
Bonjour.
C'est dû à une mise à jour Windows qui a subitement rendu impossible la retransmission à une procédure secondaire d'un ParamArray vide.
Ce n'est pas très grave: il suffit de le tester, sur ce modèle là, lors de chaque appel à cette procédure:
VB:
If UBound(ColOrd) >= LBound(ColOrd) Then InterpréterParam ColOrd

Remarque: ce dispositif est ancien. Je l'ai remplacé depuis par une fonction Gigogne disponible dans un complément xlam, qu'il aurait suffi de réinstaller.
 

an@s

XLDnaute Occasionnel
Bonjour Dranreb, Job, le forum

en rajoutant l'instruction que vous m'avez donné sur le post ci-dessus le problème n'est pas toujours résolu et m'affiche l'erreur que vous pouvez remarquer sur l'image ci-attachée

Merci pour votre aide
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    147.2 KB · Affichages: 6

Dranreb

XLDnaute Barbatruc
Qu'est ce que vous avez fabriqué ? Je n'ai pas dit de modifier quoi que ce soit dans la Sub InterpréterParam, seulement d'ajouter une condition devant ses invocations partout ailleurs.
Notez qu'une modification y aurait quand même été judicieuse: puisqu'on est de toute façon obligé de le tester à l'extérieur avant de l'appeler, ce n'est plus utile de le tester dedans.
 

Dranreb

XLDnaute Barbatruc
Ce n'est quand même pas compliqué: Cherchez tous les 'InterpréterParam ColOrd' et mettez devant 'If Ubound(ColOrd) >= LBound(ColOrd) Then '. Si je vous renvoie le fichier il sera plutôt modernisé, avec la fonction Gigogne.
 

Discussions similaires

Réponses
6
Affichages
287
Réponses
5
Affichages
291
Réponses
1
Affichages
417