IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E][DEBUTANT]Renomer un fichier


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut [VBA-E][DEBUTANT]Renomer un fichier
    Bonjour ,

    J'ai un userform dans lequel je liste les fichiers d'un repertoire . J'aimerais que lorsque je clique sur un bouton , je puisse renomer le fichier selectioner dans la listbox en indiquant "-MODIFIER" à la fin du nom du fichier .

    Par exemple , si je selectionne "Test.txt" , je clique sur le bouton et ca me change le fichier en "Test-MODIFIER.txt" .

    Est-ce possible ? Si oui comment ?

    Merci d'avance.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Regarde Name, dans l'aide. Pour renommer le fichier, tu dois indiquer le chemin.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    J'ai trouve la fonction Name xx As xx mais quand je specifie les fichiers il me dit "Fichier introuvable" . J'ai pourtant fait un ChDir pour me mettre dans le bon repertoire . Ca peut venir du fait que je prend un fichier d'une listbox avec un ListBox1.List(ListBox1.ListIndex) ? Je suis un peu bloque la

    Voila mon code :

    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
    Private Sub CommandButton5_Click()
    Dim Response
    Dim OldName, NewName
    Dim st As String
    st = ListBox1.List(ListBox1.ListIndex)
    Response = MsgBox("Avez-vous effectuer la mise à jour du fichier : " & ListBox1.List(ListBox1.ListIndex) & " ?", vbYesNo, "Mise à jour")
    If Response = vbYes Then
    ChDir ("P:\Blabla\Blabla\" & ListBox2)
    OldName = ("P:\Blabla\Blabla\" & ListBox2 & st): NewName = ("P:\Blabla\Blabla\" & ListBox2 & st & "-TEST")
    Name OldName As NewName    ' Déplace et renomme le fichier.
    MsgBox "Modification validée !"
    Else
    MsgBox "No"
    End If
    End Sub
    Je precise que P: est un serveur . Ca peut jouer dessus ?

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par Tu
    J'ai un userform dans lequel je liste les fichiers d'un repertoire
    Dans ton exemple, tu indique le même chemin pour ton ancien et ton nouveau fichier alors que le répertoire en question vient d'être créé.
    En outre, n'oublie pas l'extension. Tu dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    OldName = "CheminDuVieuxFichier\" & LeVieuxFicher.Extension
    NewName = (CheminDuNouveauFichier\ & NomDuNouveauFichier.Extension)
    Name OldName As NewName

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Merci de ta reponse rapide .

    Dans ton exemple, tu indique le même chemin pour ton ancien et ton nouveau fichier alors que le répertoire en question vient d'être créé.
    Le repertoire est déjà creer et est selectioner par la listbox2 .

    En outre, n'oublie pas l'extension. Tu dois mettre

    Code :
    OldName = "CheminDuVieuxFichier\" & LeVieuxFicher.Extension
    NewName = (CheminDuNouveauFichier\ & NomDuNouveauFichier.Extension)
    Name OldName As NewName
    Le probleme c'est que l'extension peut varier etant donne que je choisis un fichier dans une listbox qui regroupe plusieurs sortes de formats .

    Pour être precis , voila ce que je fait :

    Jai 2 listbox . Dans la premiere ( listbox2 ) je selectionne un repertoire qui est déjà creer . Dans ce repertoire ce situe plusieurs fichiers que je liste dans la listbox1 . Le but du jeu est de , lorsque je clique sur un bouton , le fichier qui est selectioner en listbox1 soit renomer simplement en ajoutant "-MODIFIE" a la fin du fichier , sans changer l'extension bien sur .

    Voila voila

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Bon, alors quand tu fais ça
    ChDir ("P:\Blabla\Blabla\" & ListBox2)
    tu demandes à VBA de te situer dans le répertoire "P:\Blabla\Blabla\" & ListBox2". Ok ?
    Mais Listbox2 contient-t-il "\" à la fin ? Parce que dans cette ligne
    OldName = ("P:\Blabla\Blabla\" & ListBox2 & st)
    on pourrait penser qu'il n'y est pas
    Affiche la fenêtre Exécution -> Dans l'Editeur VB -> Menu Affichage -> Fenêtre Exécution
    Ensuite, ajoute sous la ligne précédente cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.print OldName & "   " & Newname
    et dis-nous ce que tu obtiens.
    Mais je suis certain que tu n'auras pas besoin de nous le dire et que tu vas comprendre

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Et voila comment se prendre la tête pour une barre

    Merci et à bientôt sans doute

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] Renomer un fichier
    Par Micki dans le forum VBA Access
    Réponses: 3
    Dernier message: 03/07/2008, 12h08
  2. Réponses: 15
    Dernier message: 26/12/2006, 16h27
  3. [VBA-E][DEBUTANT]Ouvrir un fichier d'aide pour le consulter
    Par Ender dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/09/2006, 19h04
  4. Réponses: 28
    Dernier message: 22/05/2006, 16h25
  5. [VBA-E][debutant] création de fichiers & copie de colonnes
    Par Mathusalem dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/05/2006, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo