Bonjour,
Je réalise une application de gestion pour laquelle j'ai crée un.exe
Lorsque je l'éxécute j'ai le message suivant
cdp.exe a rencontré un problème et doit fermer. Nous vous prions etc....
J'ai réussi à isoler la fonction où se produit l'erreur. Il s'agit d'une fonction pour extraire les valeurs numériques d'une chaine.
La function est éxécutée en entier et juste avant l'exécution du Exit function ou End function j'ai ce message d'erreur. J'ajoute que si je consulte les informations du rapport suivant j'ai ce message :
AppName: cdp.exe AppVer: 1.0.0.0 ModName: msvbvm60.dll
ModVer: 6.0.98.2 Offset: 00108527
Je précise que ce programme tourne trés bien en mode développement.
Je vous remercie de votre aide
Cordialement
Michel
Comme demandé voici le code bloquant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Function extraireValeursNumeriques_DansChaine()
     On Error GoTo errfatale:
        Dim i As Byte, Nb As Byte
    '    cible = "12,3azerty23,5 67"
        'Pour que fonction Val puisse reconnaitre les décimales: Remplacement des
        'virgules par des points
   '             MsgBox "début remplacement virgule par des points ok "
        Cible = Replace(Cible, ",", ".")
     '           MsgBox " virgule par des points ok " 
        'Pour gérer deux nombres qui se suivent: remplacement des espaces
        'par un caractère Alpha
  '              MsgBox "début remplacement espaces  par des X ok "
        Cible = Replace(Cible, " ", "x")
  '             MsgBox " remplacement espaces  par des X ok "
  '             MsgBox "début Conversion ok "
        For i = 1 To Len(Cible)
   '                 MsgBox "conversion pas à pas  ok "
            If IsNumeric(Mid(Cible, i, 1)) Then
            NombreConv = Val(Mid(Cible, i, Len(Cible) - i + 1))
 '                  MsgBox "NombreCon  ok "
            Nb = Nb + 1
            Resultat = Resultat & NombreConv
 '                  MsgBox "Resultat ok "
            i = i + Len(Str(NombreConv)) - 1
            End If
        Next
                  MsgBox "fin extrairevaleurnumérique  ok "
          'pb au niveau de la sortie de la fonction et affichage du message cité 'plus haut    
 Exit Function
errfatale:
MsgBox err.Description
End Function
Merci de votre aide
Cordialement
Michel