XL 2013 [XL 2010] Problème version code VBA - erreur 429

jerem512

XLDnaute Nouveau
Bonjour,

J'ai un code pour faire du transfert de données via sendkeys sur l'AS/400.

Ce code fonctionne parfaitement sur excel 2010 mais ne fonctionne pas du tout sur excel 2013

L'ereur renvoyé est un code 429 activex

Je ne trouve pas pourquoi.

Voici mon code et la ligne en gras qui ne fonctionne pas:

Sub TRANSFER_AS400()
Dim Connlist As Object
Dim Session As Object
Dim capecran As Object
Dim I, t, q, r As Long
Dim Nom As String
'Déprotéger la feuille
ActiveSheet.Unprotect ("BE")

'Demande AS400 Session A
If MsgBox("Le DE est il bien ouvert sur la session A - ONGLET RUBRIQUE OUVERT ?", vbYesNo + vbCritical, "titre") = vbYes Then ' le critical c'est juste pour la croix rouge.

Set Connlist = CreateObject("PCOMM.autECLConnList")
Set capecran = CreateObject("PCOMM.autECLPS")
Set Session = CreateObject("PCOMM.autECLSession")
capecran.SetConnectionByName ("A")
Session.SetConnectionByName ("A")


Worksheets("recap").Cells(5, 30).Value = Session.AUTECLPS.GetText(1, 1)

If Range("AD5").Value Like "*DETAIL RUBRIQUE*" & "*DOSSIER D'EXECUTION*" Then

q = 12
r = 1
Session.AUTECLPS.SendKeys "", 12, 2
For I = 3 To Range("B65536").End(xlUp).Row

Session.AUTECLPS.SendKeys Range("B" & I), q, 2
Session.AUTECLPS.SendKeys Range("B" & I).Offset(0, 2), q, 18
Session.AUTECLPS.SendKeys Range("B" & I).Offset(0, 3), q, 39


q = q + 1


If r Mod 8 = 0 Then
Session.AUTECLPS.SendKeys "[page down]"
Session.autECLOIA.WaitForInputReady
Session.AUTECLPS.SendKeys "", 12, 2
End If
r = r + 1
If q = 20 Then
q = 12
End If

Next I

Else: MsgBox ("Vous n'êtes pas dans l'onglet Rubrique")

End If

End If
Worksheets("recap").Cells(5, 30).Delete
'Protéger la feuille
ActiveSheet.Protect ("BE")
End Sub





Dans l'attente d'un retour
 

jecherche

XLDnaute Occasionnel
Re : [XL 2010] Problème version code VBA - erreur 429

Bonjour,

À vérifier :
Dans excel sur la machine que ça fonctionne bien, va dans Vbe ... menu Outils ... Références ... y aurait-il une référence "cochée" qui ferait référence à AS400 ?? Si oui, sur Excel 2013 ... cette référence est-elle présente et "cochée" ??

Ou encore : https://support.microsoft.com/fr-fr/kb/244264


Jecherche
 
Dernière modification par un modérateur:

Marc L

XLDnaute Occasionnel
Bonjour !

La ligne en gras pointant sur un ActiveX n'a justement pas besoin de cocher de référence
car c'est la méthode de déclaration tardive !

L'erreur indique juste que cet objet n'est pas présent sur l'ordinateur ou pas déclaré dans Windows …

Par contre parfois une référence cochée mais manquante peut causer un dysfonctionnement :
décocher toute référence manquante …

_______________________________________________________________________________
Je suis Paris, Charlie, Bruxelles, …

 

jerem512

XLDnaute Nouveau
Re : [XL 2010] Problème version code VBA - erreur 429

Bonjour à vous deux et merci de me répondre.

Pour jecherche, le même nombre de référence est coché sur les deux postes. D'où ma question sur ce forum. il est vrai que je ne l'ai pas notifier dans mon premier message.

Je n'ai pas notifier également, c'est à dire que les postes qui fonctionnent sont sur Excel 2010 avec windows xp et les postes qui ne fonctionnent pas sont sur Excel 2013 avec windows 7.

Pour Marc L, si je comprend bien ton message, cela voudrais dire que sur les postes en XP j'ai l'objet en question mais pas sur les postes en windows 7.

Si c'est cela comment faut il faire pour retrouver l’élément ActiveX manquant?

Merci encore
 

Marc L

XLDnaute Occasionnel


Peut-être en trouvant la dll associée mais ce n'est pas toujours aussi simple que cela
car parfois il peut y avoir plusieurs fichiers liés !

Effectuer donc une recherche sur le net et voir donc avec ton IT …

 

jerem512

XLDnaute Nouveau
Re : [XL 2010] Problème version code VBA - erreur 429

J'ai, sinon dans les références des noms qui revienne comme "PCOMM ..." mais même en les cochant cela ne fonctionne pas.

Je me suis posé la question si dans le "createobject" il ne porterait pas un autre nom?

Est ce que je peux savoir par un quelconque moyen le nom des objets que je peux créer?

J'ai vu également sur certain forum qu'il y avait des problème de compilation entre 32bits et 64 bits et c'est le cas pour ce problème.

Les postes qui ne fonctionnent pas sont sur du 64 bits ....

Y a t il un moyen de faire une compilation en 32bits?

Car le logiciel AS400 se lance dans programs files (x86).
 

Marc L

XLDnaute Occasionnel

Comme préconisé par Microsoft lui même, préférer l'installation en 32 bits
car beaucoup d'ActiveX n'existent pas en 64 bits !

Comme Excel 2010 peut aussi être installé en 64 bits,
bien vérifier sur chacun des PC fonctionnant si la version est bien en 32 bits …

Si tel est le cas, tester sur un PC ne fonctionnant pas en 64 bits une nouvelle installation 32 bits.

 

jerem512

XLDnaute Nouveau
Re : [XL 2010] Problème version code VBA - erreur 429

Bonjour,

Je reviens sur cette discussion car je me pose encore des questions...

Comment puis-je trouver ce que je peux mettre dans createobject???
Dans l'explorateur, je retrouve les objet auteclsession dans Excel 64bits .... Mais pourquoi je ne peux pas les utiliser??
Et dernière question, y a t il des tutos sur lexplorateur d'objet?? Car je ne trouve pas de tuto et d'explication??

Dernière chose, il est possible de faire des macro sur l'as400 et j'ai trouvé une macro pour faire des captures d'écran de las400 vers Excel 64bits et sa marche... Mais pourquoi pas dans l'autre sens???

Merci en tt cas