Renommer un fichier selon la valeure d'un texbox vb.net

king_francis Messages postés 2 Date d'inscription samedi 11 mars 2023 Statut Membre Dernière intervention 13 mars 2023 - 11 mars 2023 à 16:06
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 13 mars 2023 à 18:22

Bonjour, je suis nouveau à la fois sur ce forum et dans le développement d'applications en vb.net. Je viens de démarrer mon tout premier projet et je ne m'en sors plutôt pas mal. Ceci dit, je bloque sur un petit détail: j'ai un formulaire avec un textbox, un label, une picturebox et un openfiledialog ainsi que deux boutons. Le premier bouton "parcourir" permet à l'utilisateur de sélectionner une image sur le disque C qui est chargée dans la picturebox et son chemin est copié dans la propriété text du label. Là j'ai réussi le code et il marche parfaitement. Maintenant je voudrais que le deuxième bouton puisse me permettre de copier le fichier sélectionné par l'utilisateur, et dont le chemin est déjà récupéré par le label, renommer ce fichier, avec pour nom le texte contenu dans le texbox1, pour ensuite le déplacer vers un dossier appelé "PHOTOS" que j'ai crée dans le répertoire de mon application (Application.startuppath). J'ai essayé ce bout de code qui copie effectivement le fichier vers la destination voulue mais en lui donnant le nom " jpg ", pourtant je voudrais qu'il le renomme avec pour nom la valeur de textbox1 + l'extension initiale du fichier image. Je suis vraiment bloqué et j'ai besoin de vos aides d'experts.

matric = Me.TextBox1.Text

                My.Computer.FileSystem.CopyFile(NomFichier, Application.StartupPath & _
                                            "\PHOTOS_ELEVES\" & matric & ".jpg",
                                            Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs,
                                            Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)

nb: dans ce code j'ai défini la variable " matric " (string) qui est censée récupérer le texte de textbox1 et une variable (string) " nomfichier " qui récupère le chemin du fichier contenu dans le label un peu plus haut dans le programme. Cette dernière est une variable public.

2 réponses

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
13 mars 2023 à 14:48

Bonjour

Pour un fichier sur un PC il y a 3 éléments : le chemin du fichier, le nom du fichier et l'extension du fichier 

Exemple :  "C:\Photos\Vacances.jpg"

Le chemin est "C:\Photos\" , le nom est "Vacances"  et l'extension est "jpg"

Pour agir sur un fichier il faut toujours préciser le nom complet du fichier avec ces 3 informations : chemin, nom et extension . Que contient exactement Textbox1.Text ?

De plus pour copier un fichier File.Copy est plus adapté .


0
king_francis Messages postés 2 Date d'inscription samedi 11 mars 2023 Statut Membre Dernière intervention 13 mars 2023
13 mars 2023 à 15:42

Oui je sais tout ce que vous dites. Peut-être n'avez-vous pas très bien compris. Le Textbox1.text contient un matricule du genre "000047a" que l'utilisateur va saisir. Il s'agit donc d'une valeur variable. Ce que je veux c'est que le fichier image sélectionné par l'utilisateur soit renommé selon la valeur du matricule saisi dans Textbox1 puis placé dans le dossier "PHOTOS" que j'ai créé dans le répertoire de mon application.

0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
13 mars 2023 à 18:22

il suffit de renommer votre fichier avant de le copier dans le nouvel emplacement .

Pour cela voir My.Computer.FileSystem.RenameFile qui renomme le fichier . Voir https://learn.microsoft.com/fr-fr/dotnet/api/microsoft.visualbasic.fileio.filesystem.renamefile?view=net-7.0


0
Rejoignez-nous