Conflit entre VBScript_RegExp_55 et Microsoft Visual Basic for Applications

Y compris Power BI, Power Query et toute autre question en lien avec Excel
B
BMLAMINE
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 mai 2019

Message par BMLAMINE » 12 mai 2019, 16:37

Bonjour à Toutes et Tous,

Je suis nouveau sur ce forum.
J'essaye d'écrire un petit programme en vba pour l'indentation des macros. Le projet est bien avancé, suite à un crach de mon disque dur, et une fois tout récupéré j'ai un conflit entre la référence "Microsoft Visual Basic for Applications Extensibility 5.3" et celle "Microsoft VBScript Regular Expressions 5.5".
Dans mon programme j'ai ajouté un menu contextuel pour l’éditeur VBE. et j'ai ajouté une macro de numérotation des lignes où les recherches sont basées sur les expressions régulières de vba.
Lorsque les deux références sont présentent, j'ai une erreur de compilation sur une ligne bien spécifique
 Set Ctrl = Application.VBE.[b]CommandBars[/b].FindControl(Tag:=sMenuItemTag)[/quote]
 
avec le message
Erreur de chargement de la dll
.
Bien sur j'ai lancé une réparation de mon OFFICE, et actualisé VB6EXT.OLB et MSCOMCTL.OCX.
Lorsque "Microsoft VBScript Regular Expressions 5.5" n'est pas référencé alors le menu fonctionne normalement et il n'y a pas d'erreur de compilation. Dès que je le référence, immédiatement l'erreur de compilation apparait.
je vous joint le fichier du menu. si vous activer la référence "Microsoft VBScript Regular Expressions 5.5". j'aimerai connaitre votre réaction.
j'utilise EXCEL 2013 FR (15.0.5127.1000) sous Windows 10 professionnel n°17763
Votre aide me sera précieuse.
MENU CONTEXTUEL VBE 12-05-2019.xlsm
(103.92 Kio) Téléchargé 7 fois
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 8'755
Appréciations reçues : 299
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 12 mai 2019, 17:05

Bonjour,

je suppose que tu fais ça pour le plaisir mais à tout hasard je te signale l'existence de Smart Indenter.

Sur ton fichier je n'ai pas d'erreur à l'ouverture, ni en démarrant en pas à pas Private Sub AddIndenterMenuItem()
Y'a-t-il une action spécifique à faire ?
Sur 2010...
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
B
BMLAMINE
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 mai 2019

Message par BMLAMINE » 12 mai 2019, 17:15

Bonjour eriiic,
je connais smart indenter sauf que je voulais faire le même que je pourrais mettre à la disposition de tout le monde et non codé.
Revenant à mon problème est ce que tu as ajouter la référence : "Microsoft VBScript Regular Expressions 5.5"
C'est son ajout qui déclenche chez moi l'erreur de compilation.
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 8'755
Appréciations reçues : 299
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 12 mai 2019, 19:50

Oui, c'est bien coché dans les références, ainsi que 'Microsoft Visual Basic for Applications Extensibility 5.3'.
Mais sur W7 et 2010...
Quand tu as actualisés tes dll, tu les as bien mises dans le bon répertoire et déclarées dans le registre ?

Pour les regex qu'il semble ne pas trouver voici ce que j'ai :
2019-05-12_19-55-50.png
2019-05-12_19-55-50.png (4.22 Kio) Vu 144 fois
des fois que...
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
B
BMLAMINE
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 mai 2019

Message par BMLAMINE » 12 mai 2019, 20:41

Merci Eric de m'aider à avancer
Mes références sont au bon endroit.
"Microsoft Visual Basic for Applications Extensibility 5.3" est à : "C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
et
"Microsoft VBScript Regular Expressions 5.5" à : "C:\Windows\SysWOW64\vbscript.dll\3"
j'ai l'impression que "VBScript_RegExp_55" décharge une dll et empêche son rechargement. Il s'agit probablement de "MSCOMCTL.OCX". j'ai aussi utilisé
regsvr32 mscomctl.ocx / u 
et
regsvr32 mscomctl.ocx 
avec la mention réussi pour les deux.
Est ce parce que j'utilise W10 en 64bits et Excel 2013 en 32.
Dans tous les cas je préfère garder Excel 2013 en 32 pour un meilleur échange de macro de petits bouts de programme.
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 8'755
Appréciations reçues : 299
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 12 mai 2019, 23:57

Oui, il faut absolument garder excel 32 bits si tu n'as aucune raison impérieuse de mettre la 64. Même sur un système 64.
Par contre tu n'indiques pas le chemin dans l'inscription. Normal ?
Désinscris celle que tu as faites (/u) et met plutôt regsvr32 c:\windows\syswow64\mscomctl.ocx
Bien que je ne vois pas trop le lien de cette bibliothèque avec celle des regex (?!?), au moins tu seras sûr de cette inscription.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
B
BMLAMINE
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 mai 2019

Message par BMLAMINE » 13 mai 2019, 10:27

Bonjour Eric,

Quand j'ai fait l'inscription j'étais dans le répertoire "c:\windows\syswow64".
J'ai refait la manipulation avec
regsvr32 c:\windows\syswow64\mscomctl.ocx /u
et
regsvr32 c:\windows\syswow64\mscomctl.ocx
La situation reste inchangée.
Ce qui m'a orienté sur "MSCOMCTL.OCX" c'est le fait que lors de l'erreur de compilation sur la ligne
"Set Ctrl = Application.VBE.CommandBars.FindControl(Tag:=sMenuItemTag)"
j'ai "CommandBars" qui est surligné lors du message "Erreur de chargement de la dll".
J'ai aussi lancé plusieurs fois la réparation de "OFFICE" sans succès.
Je n'ai pas compris non plus pourquoi il y aurai un lien entre les bibliothèques VBIDE et VBScript_RegExp_55
pourtant l'erreur est là.
Dans mes autres macros VBIDE et VBScript_RegExp_55 coexistent tant que je n'ai pas fait appel à "CommandBars" dans une ligne de programme.
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 8'755
Appréciations reçues : 299
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 13 mai 2019, 12:06

Bonjour,

je commence à être à cours d'idée... ;-)
Est-ce que tu avais atteint cette étape là et que ça a fonctionné avant que tu doives ré-installer ?
Si tu n'as jamais pu prouver le fonctionnement sur 2013, on pourrait se poser des questions dessus.
Ca serait bien si qq'un avec 2013 (et tant qu'à faire sur W10) pouvait confirmer ou non le fonctionnement de ton fichier.

Quitte à perdre du temps, tu pourrais faire la complète. Désinstaller à nouveau, nettoyer avec le fixit de MS puis avec ccleaner avant de réinstaller.
Voir option 2 : https://support.office.com/fr-fr/article/d%C3%A9sinstaller-office-d-un-pc-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8?ui=fr-FR&rs=fr-FR&ad=FR
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
B
BMLAMINE
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 mai 2019

Message par BMLAMINE » 13 mai 2019, 15:47

Merci Eric pour ton accompagnement,
En attendant qu'un membre du Forum essaye le fichier avec la même configuration à savoir
W10 ver 17763 et Office pro plus 2013fr (ver. Excel 15.0.5127.1000)
Je vais mettre en l’œuvre ton option 01.
B
BMLAMINE
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 12 mai 2019

Message par BMLAMINE » 13 mai 2019, 18:33

Eric bonjour,

Une question bête : as-tu un lien pour télécharger fixit de MS?
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message