Convertir une chaîne en entier si la chaîne est un nombre

J’ai besoin de convertir une chaîne, obtenue depuis Excel, en VBA en un entier. Pour cela, j’utilise CInt() qui fonctionne bien. Cependant, il est possible que la chaîne soit autre chose qu’un nombre, auquel cas je dois définir l’entier à 0. Actuellement, j’ai :

If oXLSheet2.Cells(4, 6).Value <> "example string" Then
  currentLoad = CInt(oXLSheet2.Cells(4, 6).Value)
Else
  currentLoad = 0
End If

Le problème est que je ne peux pas prédire toutes les chaînes non numériques possibles qui pourraient se trouver dans cette cellule. Y a-t-il un moyen de lui dire de convertir si c’est un entier et de mettre à 0 sinon ?

Utilisez IsNumeric. Cela renvoie vrai si c’est un nombre, ou faux sinon.

Public Sub NumTest()
    On Error GoTo MyErrorHandler

    Dim myVar As Variant
    myVar = 11.2 'Ou autre chose

    Dim finalNumber As Integer
    If IsNumeric(myVar) Then
        finalNumber = CInt(myVar)
    Else
        finalNumber = 0
    End If

    Exit Sub

MyErrorHandler:
    MsgBox "NumTest" & vbCrLf & vbCrLf & "Err = " & Err.Number & _
        vbCrLf & "Description: " & Err.Description
End Sub