Salve a tutti

Ho la necessità di inserire una fotografia all'interno di una PictureBox.
Il mio problema sta nel riuscire a ridimensionare l'immagine in base alle dimensioni della PictureBox contenitore.
Ho preso una vecchia procedura creata dal mio capo che dovrebbe fare tutto questo... ma non va'; in pratica sembra che tutto funzioni, ma l'immagine non viene affatto ridimensionata in base alla PictureBox.

Sapreste darmi una mano? è un po' che ci sbatto la testa, e sono sicura che la cosa è banale, ma ormai ne ho la testa piena e non scoverò mai l'errore...
codice:
'NEL FORM
'ho una picture box con dimensioni fisse
'nella sezione dichiarazioni ho dichiarato 2 costanti:
Const cstLngAltPCBox As Long = 3735
Const cstLngLargPCBox As Long = 4455

'nella sub che carica l'immagine chiamo la sub che la ridimensiona
'      e che si trova su un modulo di classe
Private Sub InserisciFotografia()
  'carico i dati dal db, creo il file immagine
   ...

  ' Assegna il file creato alla picturebox pcFoto
  ' strPerc è il percorso del file immagine sull'HD

  ' Carica l'immagine
  pcFoto.Picture = LoadPicture(strPerc)
  ' Riassegna l'altezza e la larghezza alla PictureBox
  pcFoto.Width = cstLngLargPCBox
  pcFoto.Height = cstLngAltPCBox
        
  ' Chiama la sub che dimensiona l'immagine 
  '   in modo che entri all'interno della PictureBox
  ' pcFoto è l'oggetto PictureBox, 
  '   lngLarg è la larhgezza del controllo e 
  '   lngAlt la sua altezza
  ' l'immagine non può superare le dimensioni 
  '   dell'oggetto PictureBox che la contiene
  ' clsFile è il modulo di classe che gestisce l'immagine

  Call clsFile.DimensionaImmagine(pcFoto, _
               cstLngLargPCBox, cstLngAltPCBox)

End Sub

'**********************************
' NEL MODULO DI CLASSE
' Ridimensiona l'immagine in base alle dimensioni dell'oggetto
'   PictureBox presente nel form form
Public Sub DimensionaImmagine(ByVal pcFotografia As PictureBox, _
                              ByVal lngLargMax As Long, _
                              ByVal lngAltMax As Long)

    Dim lngLargImg As Long, lngAltImg As Long, 
    Dim lngLarg As Long, lngAlt As Long

    ' Prende le dimensioni dell'immagine contenuta 
    '   nel controllo PictureBox
    lngLargImg = pcFotografia.Picture.Width
    lngAltImg = pcFotografia.Picture.Height

    ' Rapporta le dimesioni dell'immagine 
    '    con quelle dell'oggetto PictureBox contenitore
    If lngLargImg < lngLargMax And lngAltImg < lngAltMax Then

        pcFotografia.AutoSize = False

    Else

        lngAlt = lngAltImg / (lngLargImg / lngLargMax)

        If lngAlt <= lngAltMax Then

            pcFotografia.Height = lngAltMax
            pcFotografia.Width = lngLargMax

        Else

            pcFotografia.Height = lngAltMax
            pcFotografia.Width = lngLargImg / (lngAltImg / lngAltMax)

        End If
    End If

End Sub
grazie a tutti