Vba & XP Sp2

B

Bois.CL

Guest
Vba & XP Sp2

Salut à tous , voila mon problème:

J'ai monté une suite de feuilles et classeur avec des macros pour faire facture devis.Cela fait quelques années que ça marchait tres bien.
Depuis passage à Win XP Famillial Sp2 et OfficePro 2003 des erreurs empeche les macros de se derouler correctement:

Sur des appels de "Date,Format,...etc " message d'erreur :
"erreur de compilation projet ou bibliotheque introuvable"

J'ai bien declaré toutes mes variables.
Je pensai que ces fonctions etaitent natives d'excel.


Autre bizarete cela fonctionne bien chez un collegue qui lui à Win XP pro .

Je patauge.

Si vous avez une idée je suis preneur.

Merci d'avance.

Ps: j'avais Norton system work je l'ai désinstallé c'est pareil.
 
Z

Zon

Guest
Re: Vba & XP Sp2

Salut,

Rien à voir avec le SP2 (pour une fois...encore 9 failles de sécurité à téléchargerà ce jour)

Il te suffit de regarder la réference manquante dans les proipriétes de VBAproject, de la décocher, d'enregister ton fichier puis de le réouvrir ça devrait rentrer dans l'ordre.


Tu peux toujours la rajouter à la main à l'ouverture de ton fichier


private sub workbook_open()
on error resume next
ThisWorkbook.VBProject.References.AddFromFile "lechemincompletdeladll"
end sub

A+++
 
Z

Zon

Guest
Re: Vba & XP Sp2

Salut,

Pour le savoir, tu vas dans VBE Outils/références , tu regardes celle qui est manquante.

sinon dans le workbook_open tu lances ajouterrefmanq thisworkbook

Sub AjouterRefManq(C As Workbook)
Dim I As Byte, Temp$
On Error Resume Next
 With C.VBProject.References
   For I = 1 To .Count
    If .Item(I).IsBroken Then
      Temp = .Item(I).FullPath
      .Remove .Item(I)
      .AddFromFile Temp
    End If
   Next I
 End With
End Sub

A+++
 
B

Bois.CL

Guest
Re: Vba & XP Sp2

j'ai trouvé.

Il manquait "MSCOMCT2.OCX"

dans windows/system32/.

Je m'excuse mais ta macro n'a pas fonctionné ou je m'y suis mal pris.

J'ai trouvé en comparant 2 micros cote à cote.

Merci quand même a vous

Salut @ plus.
 
Z

Zon

Guest
Re: Vba & XP Sp2

Salut,


"MSCOMCT2.OCX" est un contrôle VB et non VBA, donc pour le trouver il faut Visual Basic soit installé sur la machine.
Sinon il faut copier le fichier dans windows\system32 (WIn NT, 2000, XP) ou windows\system (Win98, Me).
IL faut l'enregistrer dans la Base de registre WIndows. Démarrer /éxécuter/ taper à l'invite:
regserv32 c:\windows\system32\MSCOMCT2.OCX.

Pour le faire en VBA,

sub Princ()
 regocx "C:\lepertoireoùestsituélecontrole\","msconct2.ocx"
end sub

Sub RegOcx(Chemin$, Optional NomOcx$)
  Dim CheSyS$
  If Dir(Chemin) = "" Then Exit Sub
  CheSyS = RepertoireSyS
  If Dir(CheSyS & NomOcx) = "" Then FileCopy Chemin, CheSyS & NomOcx
  Shell CheSyS & "regsvr32.exe " & NomOcx & " /s", 0
End Sub
 
Function RepertoireSyS$()
  With CreateObject("Scripting.FileSystemObject")
    RepertoireSyS = .GetSpecialFolder(1) & "\"
  End With
End Function

A+++
 
B

Bois.CL

Guest
Re: Vba & XP Sp2

Salut Zon

J'ai fais plus simple , tu ma dit:"tu vas dans VBE Outils/références , tu regardes celle qui est manquante."
C'estce que j'ai fais sur 2 micros simultanément et en comparant on s'est apercu de celle qui manquait.Puis via une clef USB copie du fichier d'un sur l'autre.
C'est loin des regles de l'art et peu t etre un peu barbare mais ca marche et c'est l'essentiel.

Merci encore de ton aide et @ plus
 

Discussions similaires

J
Réponses
10
Affichages
3 K
Jean-Jacques
J

Statistiques des forums

Discussions
312 104
Messages
2 085 344
Membres
102 865
dernier inscrit
FreyaSalander