Mac adress

Bonjour à tous,

Après voir fait des recherches sur le forum rine

Je voudrai savoir si quelqu'un pourrait me donner la solution en VBA pour que mon projet puisse récupérer la MAC ADRESS de mon ordinateur.

merci d'avance

Amicalement

Noel

Bonjour,

j'ai trouvé ce code à cette

place ce code dans un module

Public Const NCBASTAT As Long = &H33
Public Const NCBNAMSZ As Long = 16
Public Const NCBRESET As Long = &H32

Public Type NET_CONTROL_BLOCK
    ncb_command As Byte
    ncb_retcode As Byte
    ncb_lsn As Byte
    ncb_num As Byte
    ncb_buffer As Long
    ncb_length As Integer
    ncb_callname As String * NCBNAMSZ
    ncb_name As String * NCBNAMSZ
    ncb_rto As Byte
    ncb_sto As Byte
    ncb_post As Long
    ncb_lana_num As Byte
    ncb_cmd_cplt As Byte
    ncb_reserve(9) As Byte
    ncb_event As Long
End Type

Public Type ADAPTER_STATUS
    adapter_address(5) As Byte
    rev_major As Byte
    reserved0 As Byte
    adapter_type As Byte
    rev_minor As Byte
    duration As Integer
    frmr_recv As Integer
    frmr_xmit As Integer
    iframe_recv_err As Integer
    xmit_aborts As Integer
    xmit_success As Long
    recv_success As Long
    iframe_xmit_err As Integer
    recv_buff_unavail As Integer
    t1_timeouts As Integer
    ti_timeouts As Integer
    Reserved1 As Long
    free_ncbs As Integer
    max_cfg_ncbs As Integer
    max_ncbs As Integer
    xmit_buf_unavail As Integer
    max_dgram_size As Integer
    pending_sess As Integer
    max_cfg_sess As Integer
    max_sess As Integer
    max_sess_pkt_size As Integer
    name_count As Integer
End Type

Public Type NAME_BUFFER
    name As String * NCBNAMSZ
    name_num As Integer
    name_flags As Integer
End Type

Public Type ASTAT
    adapt As ADAPTER_STATUS
    NameBuff(30) As NAME_BUFFER
End Type

Public Declare Function Netbios Lib "netapi32.dll" (pncb As NET_CONTROL_BLOCK) As Byte

Public Function MACAddress() As String
    Dim macAdr As String
    Dim ncb As NET_CONTROL_BLOCK
    Dim adapter As ASTAT

    ncb.ncb_command = NCBRESET
    Call Netbios(ncb)

    ncb.ncb_command = NCBASTAT
    ncb.ncb_lana_num = 0
    ncb.ncb_callname = "* "
    ncb.ncb_buffer = VarPtr(adapter)
    ncb.ncb_length = Len(adapter)

    Call Netbios(ncb) 'renvoie entre autre la mac adresse dans une structure
    For i = 0 To 5
        macAdr = macAdr & Format$(Hex(adapter.adapt.adapter_address(i)), "00") & " "
    Next i

    macAdr = Trim(macAdr) 'Enlève les espces à droite et à gauche de la chaîne
    MACAddress = macAdr

End Function

ensuite appelle la fonction MACAddress pour avoir ton adresse

msgbox MACAddress

Bonjour à tous

Autre possibilité avec WMI (testé sur PC: peut-^tre non valable sur MAC)

adresses mac lan et sis

Sub trouver_adresses_mac()
strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colAdapters = objWMIService.ExecQuery _
    ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
 n = 1

For Each objAdapter In colAdapters
        MsgBox "adaptateur réseau n°" & n & vbLf _
                & "Description: " & objAdapter.Description & vbLf _
                & "Adresse physique MAC: " & objAdapter.MACAddress
        n = n + 1
Next

End Sub

Bonjour,

Je vous remercie tous d'avoir répondu à ce fil. Il se fait tard pour pouvoir l'esayer dès demain je m'y attellerai et je vous tiendrai au courant de la situation.

Bonne nuit à tous

amicalement

Noel

-- Mer Sep 01, 2010 6:08 am --

Bonjour à tous

Bonjour Michel et Math

Mon cher Math ton code bug qui soit sous MAC ou PC. Je pense qu'il n'y a pas grand chose il se plante à la fonction :

Public Function MACAddress() As String    à la ligne     Call Netbios(ncb)

Mon cher Michel comme tu l'avais prévu le tien marche bien sous PC.

Ce que je désire c'est de pouvoir récupérer Le MAC ADDRESS de l'ordinateur dans une cellule et puis trouver un code VBA qui puisse comparer lors du lancement du projet si le MAC Address de l'ordinateur correspond à celui qui est enregistré dans une cellule.

J'espère vous relire bientôt

Je vous remercie

Amicalement

Noel

Rechercher des sujets similaires à "mac adress"