XL 2021 Problème ScriptControl

Rabeto

XLDnaute Occasionnel
Bonjour,

Que peut être la raison de cette erreur lors du lancement de la macro svp (Ligne Jaune)

Je suis sur office 2021

J'ai vu des sujets à propos de MSscript.ocx ect... mais avec les solutions, cela ne fonctionne toujours pas

1716651769010.png
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
La référence "Micosoft script control 1.0" étant cochée dans un nouveau classeur, cette procédure ne provoque pas d'erreur chez moi :
VB:
Sub Test()
   Dim SCl As New ScriptControl
   SCl.Language = "JScript"
   End Sub
 

dysorthographie

XLDnaute Accro
Bonjour,

Les erreurs lors du lancement d'une macro, particulièrement si une ligne spécifique est surlignée (ligne jaune), peuvent souvent être liées à des problèmes avec les contrôles ActiveX comme MSscript.ocx. Toutefois, les solutions classiques peuvent ne pas toujours résoudre le problème, surtout avec Office 2021 où des restrictions de sécurité supplémentaires ont été mises en place.

Voici quelques pistes pour résoudre ce problème :

### 1. Vérification des paramètres de sécurité
Office 2021 peut bloquer les contrôles ActiveX par défaut pour des raisons de sécurité. Pour vérifier et ajuster ces paramètres :

1. Ouvrez l'application Office concernée (Excel, Word, etc.).
2. Allez dans "Fichier" > "Options" > "Centre de gestion de la confidentialité" > "Paramètres du Centre de gestion de la confidentialité".
3. Sélectionnez "Paramètres des macros" et assurez-vous que l'option permettant d'activer les macros est cochée.
4. Cliquez sur "Paramètres des contrôles ActiveX" et assurez-vous que l'option "Désactiver tous les contrôles sans notification" n'est pas cochée. Vous pouvez choisir "Demander avant d'activer tous les contrôles avec restrictions".

### 2. Ré-enregistrement des contrôles ActiveX
Parfois, il est nécessaire de ré-enregistrer les contrôles ActiveX. Pour ce faire :

1. Ouvrez l'invite de commandes en mode administrateur.
2. Exécutez les commandes suivantes :

```sh
regsvr32 c:\windows\system32\mscomctl.ocx
regsvr32 c:\windows\system32\mswinsck.ocx
```

### 3. Utilisation de solutions alternatives
Les contrôles ActiveX étant souvent bloqués pour des raisons de sécurité, il peut être judicieux d'explorer des alternatives. Par exemple, utilisez des formulaires UserForm et les contrôles intégrés de VBA qui peuvent souvent remplacer les contrôles ActiveX dans les macros.

### 4. Mise à jour d'Office
Assurez-vous que votre installation d'Office 2021 est à jour. Les mises à jour peuvent inclure des correctifs pour des problèmes connus avec les macros et les contrôles ActiveX.

### 5. Documentation et mises à jour de sécurité de Microsoft
Consultez la documentation de Microsoft et les mises à jour de sécurité concernant les contrôles ActiveX. Microsoft publie régulièrement des informations sur les restrictions et les alternatives disponibles.

En prenant en compte ces recommandations, vous devriez pouvoir résoudre les problèmes liés aux contrôles ActiveX et faire fonctionner votre macro correctement. Si le problème persiste, fournir plus de détails sur l'erreur et le code de la macro serait utile pour un diagnostic plus précis.
 

Rabeto

XLDnaute Occasionnel
Ah, voilà l'erreur

1716716418992.png


Mais, j'aimerai passer à autre chose,

bref, j'ai essayé autre méthode est fonction bien, avec la macro ci-dessous
J'aimerai juste savoir si vous avez une solution car lors du traitement macro, si la macro ne trouve pas (Par exemple X1 dans les données) cela me donne une erreur

1716716826903.png


Y a t-il un moyen de dire à la macro de passer à l'étape suivante si erreur et de terminer le traitement sans erreur.

Merci
-------------------------------------------------------------
Sub TESTLANCEMENT()

suppfeuilles
Range("A1").CurrentRegion.Offset(2, 0).ClearContents

Site = Range("F1").Value
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", Site, False
.send
donnee = .responsetext
End With

table = Split(donnee, "Base"":")

For i = 1 To UBound(table )
With ActiveSheet
.Cells(i + 2, 1).Value = Split(table (i), ",")(0)
.Cells(i + 2, 2).Value = Split(Split(table (i), "X1"":")(1), ",")(0) 'Laisser vide et Passer à X2 si erreur
.Cells(i + 2, 2).Value = Split(Split(table (i), "X2"":")(1), ",")(0) 'Laisser vide et Passer à X3 si erreur
.Cells(i + 2, 3).Value = Split(Split(table (i), "X3"":")(1), ",")(0) 'Laisser vide et Passer à X4 si erreur
.Cells(i + 2, 4).Value = Split(Split(table (i), "X4"":")(1), ",")(0) 'Laisser vide et Passer à X5 si erreur
.Cells(i + 2, 6).Value = Split(Split(table (i), "X5"":")(1), ",")(0) 'Laisser vide et Passer à X6 si erreur
.Cells(i + 2, 5).Value = Split(Split(table (i), "X6"":")(1), ",")(0) 'Laisser vide et Passer à X7 si erreur
.Cells(i + 2, 8).Value = Split(Split(table (i), "X7"":")(1), ",")(0) 'Laisser vide et Passer à X8 si erreur
.Cells(i + 2, 6).Value = Split(Split(table (i), "X8"":")(1), ",")(0) 'Laisser vide et Passer à X8 si erreur

End With
Next

End Sub
---------------------------------------------------------------------
 

patricktoulon

XLDnaute Barbatruc
ce control est tout simplement déactivé en dehors des paramètres de securité de vba
il n'est donc tout simplement plus utilisable dans l'environnement windows
il faut aller faire peter une cle de registre dans regedit
et ca repart comme en 14
 

patricktoulon

XLDnaute Barbatruc
l'addresse dans le registre ça doit être un truc de ce genre
pour les version clickandrun
VB:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Office\16.0
\ClickToRun\REGISTRY\MACHINE\Software\Wo
w6432Node\Microsoft\Office\16.0
\Common\COM Compatibility\leclisd

pour ceux qui ont des version Msi
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432
Node\Microsoft\Office\16.0\Common\COM
Compatibility\leclisd

1°remplacer 16 par le numéro de la version que l'on utilise
2°remplacer le mot"leclisd" par la reférence du clisd
Les identificateurs de classe suivants sont affectés par

liste non exhaustive ci dessous

Description ClassID
Contrôle de navigateur(le webbrowser )
Web

{8856F961-340A-11D0-
A96B-00C04FD705A2}

Composant Microsoft
Scriptlet

{AE24FDAE-03C6-11D1-
8B76-0080C744F389}

Contrôle d’édition HTML
{25336920-03F9-11CF-
8FD0-00AA00686F13}
{25336921-03F9-11CF-
8FD0-00AA00686F13}

Contrôle d’édition de
MHTML

{3050F3D9-98B5-11CFBB82-
00AA00BDCE0B}
{3050F5C8-98B5-11CFBB82-
00AA00BDCE0B}
{3050F67D-98B5-11CFBB82-
00AA00BDCE0B}

Contrôle DHTML Edit
{2D360200-FFF5-11d1-
8d03-00a0c959bc0a}

Contrôle de (sécurisé
pour le script) DHTML

{2D360201-FFF5-11d1-
8D03-00A0C959BC0A}

une fois que vous avez trouvé vottre clé dans la base de registre
click droit dessus et exporte pour la sauvegarder et après vous la supprimez tout simplement
 

patricktoulon

XLDnaute Barbatruc
Bonjour Robert
oui exact il y a un article là dessus je s"is plus ou c'est mais quand j'avais trouvé pour 2013 je m'était fait un pdf
comme ça c'est pas perdu ;)

edit:
oui c'est ça ça vient de microsoft
une petite precision
Remarque Wow6432Node doit être omis dans les clés
de Registre pour Office pour les cas dans lesquels une
version 32 bits de Microsoft Office est en cours
d’exécution sur une version 32 bits de Windows, ou
une version 64 bits de Microsoft Office est en cours
d’exécution sur une version 64 bits de Windows.
Toutefois, Wow6432Node doit être inclus lorsqu’une
version 32 bits de Microsoft Office s’exécute sur une
version 64 bits de Windows.
maintenant vous savez tout ;)
 

dysorthographie

XLDnaute Accro
Bonjour Patrick,
Bonjour Robert
oui exact il y a un article là dessus je s"is plus ou c'est mais quand j'avais trouvé pour 2013 je m'était fait un pdf
comme ça c'est pas perdu ;)
J'utilise Guitlab même pour y stocker des pdf

Si tu formate ou change d'ordinateur tu peux récupérer le lien sur le site de Guitlab et le rapatrier sur ton PC il faut tortues et 2,3 truc mais c'est simple
 

Discussions similaires

Statistiques des forums

Discussions
312 864
Messages
2 093 003
Membres
105 593
dernier inscrit
Damien49