Retourner un string dans une fonction vba

Fermé
Koch29400 - 12 sept. 2008 à 16:04
 Koch29400 - 15 sept. 2008 à 08:18
Bonjour,

Voilà mon pb j'ai créer un petit programme qui à partir d'une liste d'article génère autant de fichier qu'il y a de fournisseur. mon pb se situe pour supprimer du nom de certain fournisseur des caractères inappropriés.

je travaille sous access 97

J'ai donc une private sub cmdboutondlbeclic qui permet de générer ces fichiers et de leur donner leur nom.

dans cette Sub j'appelle ma fonction Replace dont le code est en fin de message.


Me.txtNomExport.Value = Replace (Me.txtNomExport.Value,"."," ")


mon pb vient du fait que je n'arrive pas à récupérer la valeur en sortie dans ma sub qui l'a appelé


je pense que j'ai du oublier un petit détail mais là je sèche si quelqu'un à une idée ...

**********************************************************
Private Function Replace(Chaine As String, car As String, nouv As String) As String

'but de la fonction remplacer un caractère dans une chaine par un autre caractere

Dim newChaine As String
Dim trouv As Integer

newChaine = Chaine

trouv = InStr(1, Chaine, car) ' trouve la position du caractere "car" dans la chaine "Chaine"

Do While trouv > 0 ' execution d'une boucle tant que le caractere "car" sera présent
newChaine = Left(newChaine, trouv - 1) & nouv & Mid(newChaine, trouv + 1) 'on prend la partie gauche jusqu'a "car" puis on ajoute le nouveau caractère "nouv" et on fini la chaine
trouv = InStr(1, newChaine, car)
Loop

MsgBox (newChaine) 'pour test fonctionne ai bien la chaine modifiée

End Function

1 réponse

Bonjour

Si tu ne mets pas Replace=newChaine à la fin de la fonction, ta fonction ne retourne rien !
0
Impeccable

Merci de m'avoir raffraichi la mémoire, c'était tellement évident.
0