Problème de compilation

Bonjour,

j'ai créé un petit fichier excel qui me permet de montrer le numéro de disque dur.

il fonction bien mais chez certaine personne il y as une erreur de compilation objet absent.

quelqu'un pourrait m'expliquer ce qui cloche et si cela est possible de résoudre ce probléme.

à l'avance merci.

Daniel

Bonjour,

sur xl2010 (PC) le code suivant fonctionne bien

Private Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Sub Macro1()
 Dim Serial As Long, VName As String, FSName As String
    VName = String$(255, Chr$(0))
    FSName = String$(255, Chr$(0))
    GetVolumeInformation "C:\", VName, 255, Serial, 0, 0, FSName, 255
    Debug.Print Trim(Str$(Serial))
End Sub

est-ce que la Version Excel : 2011 est MAC ?

bonjour,

moi j'ai excel 2011 MAC mais le fichier a était fait sur PC.

il fonctionne bien mais juste un problème d'objet sur certain PC.

alors je voudrais savoir quel est l'objet en cause et si il y as un remède.

merci,

Daniel

Bonjour,

voici la seule information que j'ai trouvé pour ce sujet sous Mac

voici le lien

http://www.nullskull.com/q/6062/getvolumeinformation.aspx

en espérant que cela vous sera utile

Le problème n'est pas MAC car le fichier ne tourne que sur PC.

le problème est que sur certain PC il y a une erreur de compilation d'objet.

donc je voulais juste soit modifier soit savoir quoi faire pour que supprimer l'erreur.

Daniel

bonjour,

peut-être ainsi

Private Declare PtrSafe Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Sub Macro1()
 Dim Serial As Long, VName As String, FSName As String
    VName = String$(255, Chr$(0))
    FSName = String$(255, Chr$(0))
    GetVolumeInformation "C:\", VName, 255, Serial, 0, 0, FSName, 255
    MsgBox Trim(Str$(Serial))
End Sub

Merci je vais tester dés que possible.

Rechercher des sujets similaires à "probleme compilation"