VBA CATIA: icone dans barre d'outil pour appeler macro ne marche pas

VBA CATIA: icone dans barre d'outil pour appeler macro ne marche pas - Infographie 3D - Graphisme

Marsh Posté le 27-05-2016 à 10:44:27    

Bonjour à tous,
 
Je regarde ce forum depuis des mois maintenant pour trouver des réponses sur le vba catia et vous m'avez beaucoup aidé. Mais la mon problème s'avère un peu plus compliqué et je ne trouve pas de réponse ...
Voici mon soucis:
 
Dans le cadre de la création d'une macro d'extraction sur des plans CATIA V5 je test actuellement une petite macro de gestion des erreurs. L'idée est simple, si ma macro d'extraction vient à planter, au lieu d'avoir la boite de dialogue vba, j'ouvre un userform contenant le numéro du message d'erreur, sa désignation, le nombre de plantage depuis le lancement initial du programme. L'userform contient aussi 2 commandbutton permettant de :
- Compléter un fichier txt de rapport d'erreur avec l'heure de l'erreur, son numéro et sa désignation
- Relancer la macro depuis le départ en reprenant le plan sur lequel ça a planté
 
Cette macro de test fonctionne parfaitement lorsque je la lance via l'editeur de script.
 
J'ai donc essayé de créer un bouton dans les barres d'outils CATIA pour lancer cette macro de test afin de voir la démarche pour la création de ce bouton. J'ai réussi, j'ai une nouvelle barre d'outil avec mon bouton d'appel de la macro qui apparait a chaque ouverture de CATIA.
Seul bémol : lorsque je clique sur le bouton, ma macro ne se lance pas ...  
 
Quelqu'un aurait-il, s'il-vous-plait, une idée de pourquoi mon bouton ne lance pas ma macro?
(Je bosse sur CATIA V5-6R2013 au sein de mon entreprise et je n'ai pas les droits d'admin sur mon pc)
 
Merci d'avance pour vos réponses ...

Reply

Marsh Posté le 27-05-2016 à 10:44:27   

Reply

Marsh Posté le 30-05-2016 à 09:54:52    

Bon j'ai réussi à résoudre ce problème.
 
Pour qu'une icone appelle bien la macro correspondante il faut visiblement que le sub appelé par l'icone s'appelle "CATMAIN" (voir exemple ci-dessous). En modifiant le nom de ce sub la macro se lance parfaitement.
 
Public Sub CATMAIN()
Dim nombre As Long
Dim Nberreur As String
Dim Nbdescription As String
 
On Error GoTo UserForm
 
Dossier = "C:\Users\bidule.machin\Desktop\"
 
Set fs = CreateObject("Scripting.FileSystemObject" )
Set A = fs.CreateFolder(Dossier & "Fichiers analysés" )
 
 
UserForm:
If Err.Number <> 0 Then
    Nberreurform = Err.Number
    Nbdescriptionform = Err.Description
    nombreform = 1
    UserForm1.Label1.Caption = "Erreur numéro: " & Chr(13) & Nberreurform & Chr(13) & "Description: " & Chr(13) & Nbdescriptionform
    If UserForm1.Label2.Caption = "Label2" Then
        UserForm1.Label2.Caption = nombreform
    Else
        nombreform = UserForm1.Label2.Caption
        UserForm1.Label2.Caption = nombreform + 1
    End If
    UserForm1.Show
End If
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed