CONTROLLO partita iva

Qualcuno ha fatto qualche routine per il controllo formale della partita iva in vb6 oppure in Vba?
Grazie.

Buongiorno,
allego una classe sviluppata in C# che esegue sia il controllo formale.

    private bool _checkVatItaFormale(string _myCountry, string _myVatNumber)
    {
        bool _isValid = false;
        Int16 _ris;

        try
        {
            if (_myCountry.CompareTo("IT") == 0)
            {
                if (_myVatNumber.Length == 11)
                {
                    Int32 s = 0;
                    int n = 1;

                    // sommare ad s le cifre di posto dispari (dalla prima alla nona)
                    while (n <= 9)
                    {
                        _ris = Convert.ToInt16(_myVatNumber.Substring(n - 1, 1));

                        s = s + _ris;

                        n = n + 2;
                    }

                    // per ogni cifra di posto pari (dalla seconda alla decima),
                    // moltiplicare la cifra per due e, se risulta piu' di 9, sottrarre 9; 
                    // quindi aggiungere il risultato a s;
                    n = 2;

                    while (n <= 10)
                    {
                        _ris = Convert.ToInt16(_myVatNumber.Substring(n - 1, 1));
                        _ris = Convert.ToInt16(_ris * 2);

                        if (_ris > 9)
                        {
                            _ris = Convert.ToInt16(_ris - 9);
                        }

                        s = s + _ris;

                        n = n + 2;
                    }

                    // si calcola il resto della divisione di s per 10
                    var _resto = s % 10;

                    // calcolo ultima cifra della partita iva
                    Int16 c = Convert.ToInt16((_resto == 0) ? 0 : 10 - _resto);

                    _isValid = Convert.ToInt16(_myVatNumber.Substring(10, 1)) == c ? true : false;
                }
            }
        }

        catch
        {
            // noop
            _isValid = false;
        }

        return _isValid;
    }

Saluti
Emanuele

Grazie ma a me interessava in vb6 o vba.

Basta convertire il codice da C# (più che leggibile) a VB6

E’ stato un po complicato, ma ci sono riuscito grazie per il codice: