Visual basic erreur "caractère non valide"

Résolu/Fermé
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - Modifié par NHenry le 23/03/2016 à 18:43
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 24 mars 2016 à 21:28
Bonjour,

je sollicite votre aide pour le problème suivant :
j'utilise visual basic 2010 express
j'ai créer un form avec un bouton que j'ai met dedans le code suivant :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim nomFichier As String
        Dim cheminPlusFichier As String
        nomFichier = "C:\Users\" & Environment .Username & "\Desktop\Répertoire\Etude.doc"
        cheminPlusFichier = My.Application.Info.DirectoryPath & nomFichier
        System.IO.File.WriteAllBytes(cheminPlusFichier, My.Resources.Etude)
        Process.Start(cheminPlusFichier)  
    End Sub
End Class


je vais vous expliquer se que j'ai fait :
quand j'exécuté le programme en cliquant sur F5 une erreur du nom "caractère non valide" s'affiche et le problème est que rien n'ai souligner alors j'ignore cette erreur et le programme s'exécute sans problème, je clique sur le bouton le fichier word du nom "Etude" s'ouvre
le fichier word se trouve dans le dossier ressource
quand j'essaie de le programme sous forme (.exe) il affiche echec en bas, normalement quand je l'œuvre sous forme (.exe) et je l'œuvre puis je clique sur le bouton le fichier word 'Etude" s'enregistre dans les dossier Repertoire dans le bureau.
aidez moi š'il vous plaît
et merci d'avance
aidez moi s'il vous plaît
et merci d'avance



Comment ça marche c'est cool! 
      1000 Merci les Amis


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
Modifié par NHenry le 23/03/2016 à 18:44
"Environment .Username"
Il y a un espace avant le .


Et sinon, il te met le curseur sur l'emplacement incriminé, regardes bien.


J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
Modifié par kikou93 le 23/03/2016 à 19:04
Merci NHenry de m'avoir répondu.

je l'ai déjà vu c'est juste que je l'ai obtenu quand je l'ai copier

voici le dossier du projet dans un fichier rar :

https://www.cjoint.com/c/FCxrRbKKLPC
il met le curseur a la fin de
nomFichier = "C:\users\" & Environment.UserName & "\Desktop\Repertoire\Etude.doc"


le problème est que quand le fait
nomFichier = "\Etude.doc"
le programme s'excute sont aucun problème, le fichier Etude.doc s'enregistre dans le bureau , mais quand je met :
nomFichier = "C:\Users\" & Environment .Username & "\Desktop\Répertoire\Etude.doc"
pour l'enregistrer dans un repertoire dans le bureau une erreur s'affiche
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
24 mars 2016 à 20:18
Dans le code que tu as posté tu n'a pas la même verison que celui dans le RAR :
nomFichier = "C:\users\" & Environment.Username("\Desktop\Repertoire\Etude.doc")

Ton erreur semble plus logique du coup.
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
24 mars 2016 à 20:56
Ah oui, je faisais des essais pour trouver une solution et je l'ai enregistré sans le remarquer

L'erreur "caractère non valide" ne s'affiche plus mais il une autre erreur s'affiche "L'exception NotSupportedException n'a pas été gérée, Le format du chemin d'accès donné n'est pas pris en charge.", j'ai demandé conseil à une personne il m'a dit :

"mets un point d'arrêt après l'affectation de ta variable cheminPlusFichier, regarde sa valeur et tu comprendras tout de suite d'où vient le problème."

Mais il n'a pas voulu me dire plus, en toute honnêteté je n'ai pas compris ce qu'il voulait dire.

Voici le code :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim nomFichier As String
Dim cheminPlusFichier As String
nomFichier = "C:\" & Environment .Username & "\Répertoire\Etude.doc"
cheminPlusFichier = My.Application.Info.DirectoryPath & nomFichier
System.IO.File.WriteAllBytes(cheminPlusFichier, My.Resources.Etude)
Process.Start(cheminPlusFichier)
End Sub
End Class

Voici le fichier :
http://www.cjoint.com/c/FCyt3Z6ruay
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
24 mars 2016 à 21:28
je viens de trouver une solution et elle marche très bien la voici :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cheminPlusFichier As String
My.Computer.FileSystem.CreateDirectory("C:\Répertoire")
cheminPlusFichier = "C:\Répertoire\Etude.doc"
System.IO.File.WriteAllBytes(cheminPlusFichier, My.Resources.Etude)
Process.Start(cheminPlusFichier)
End Sub

merci beaucoup de m'avoir consacré du temps
0