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

Excel Discussion :

recupération d'un nom de fichier sur un chemin d'accés a un fichier


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Points : 25
    Points
    25
    Par défaut recupération d'un nom de fichier sur un chemin d'accés a un fichier
    bonjour je voudrais un programme en VBA qui pemettra de recupérer seulement le nom d'un fichier sur un chemin d'accés .par exemple

    "C:\Documents and Settings\Bureau\Ousmane_DJIBA\fichiers_exportés\Docs_XML\Test_BARBEZIEUX_D.xml"

    je voudrais recupérer seulement "Test_BARBEZIEUX_D"

  2. #2
    Membre expérimenté
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Points : 1 580
    Points
    1 580
    Par défaut
    Bonjour,
    Avec la fonction InStrRev, on part de la fin d'une chaîne de caractères pour chercher.
    Le résultat serait donc, si le chemin est dans la variable strChemin :
    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
     
    Dim intPosition As Integer
    dim strFichier As String
     
    ' On cherche la position du caractère \ en partant de la fin
    intPosition = InStrRev(strChemin, "\")
    ' Le caractère n'a pas été trouvé
    If intPosition = 0 Then
        strFichier = strChemin
     
    ' Le caractère a été trouvé : on prend tout ce qui le suit
    Else
        strFichier = Mid(strChemin, intPosition+1)
     
        'Pour enlever l'extension, on cherche le dernier point
        intPosition = InStrRev(strFichier, ".")
        'Si on le trouve, on ne garde que ce qui précède
        If intPosition <> 0 Then
            strFichier = Mid(strFichier, 1, intPosition-1)
        End If
    End If

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Points : 25
    Points
    25
    Par défaut
    ok je l'ajoute a mon macro et je vous tien au courant. Mercie

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Points : 25
    Points
    25
    Par défaut
    rebonjour, j'ai ajouté votre code dans ma fonction il marche bien.en faite Ma fonction me permet de sélectionner un fichier dans un emplacement et d'afficher le non du fichier .il marche tant que le fichier est sélectionné. mais a l'instant où la fonction s'exécute ,si on rennonce à la sélection du fichier ou si on click sur annulé .il m'affiche qu'il y'a une erreur avec le chemin d'accés alors que si le fichier est sélectionné il affiche pas d'erreur

    voici ma fonction
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    Option Explicit
    'Fonction pour sélectionner le fichier XML à charger en Mémoire
    Function select_fichier_xml() As String
    'Déclaration des variables
    Dim chemin As String
    Dim nom_fichier As String
    Dim intPosition As Integer
    Dim strFichier As String
    'variable pour contenir le chemin du fichier sélectionné.
    Dim vrtSelectedItem As Variant
    'variable objet FileDialog.
    Dim fd As FileDialog
    'Création d'un objet FileDialog comme une boîte de dialogue Fichier
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    'Use a With End With block to reference the FileDialog object
    With fd
        'Utilisation de la méthode Show pour afficher la boîte de dialogue Fichier Picker et retourner l'action
        If .Show = -1 Then
            'pour parcourir les etapes
            For Each vrtSelectedItem In .SelectedItems
                'vrtSelectedItem pour stocker le chemin de chaque élément sélectionné
                'et affichage du chemin d'accès dans la boîte de message
                MsgBox "le fichier choisi est: " & vrtSelectedItem
            Next vrtSelectedItem
        End If
    End With
    chemin = fd.SelectedItems(1)
     
    'sortir de l'objet.
    Set fd = Nothing
    'recupére le chemin
    select_fichier_xml = chemin
     
    ' On cherche la position du caractère \ en partant de la fin
    intPosition = InStrRev(chemin, "\")
    ' Le caractère n'a pas été trouvé
    If intPosition = 0 Then
        strFichier = chemin
    ' Le caractère a été trouvé : on prend tout ce qui le suit
    Else
        strFichier = Mid(chemin, intPosition + 1)
        'Pour enlever l'extension, on cherche le dernier point
        intPosition = InStrRev(strFichier, ".")
        'Si on le trouve, on ne garde que ce qui précède
        If intPosition <> 0 Then
            strFichier = Mid(strFichier, 1, intPosition - 1)
        End If
    End If
    ActiveSheet.Cells(2, 7) = strFichier
    End Function

  5. #5
    Membre expérimenté Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Points : 1 656
    Points
    1 656
    Par défaut
    Bonjour

    Il suffit de gérer la valeur de retour du filedialog

    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
    With Application.FileDialog(msoFileDialogFolderPicker)
                            .InitialFileName = Repertoire
                            .Title = "Veuillez sélectionner le dossier où se trouvent les fichiers de réflectance"
                            .ButtonName = "Choisir ce dossier"
                            .AllowMultiSelect = True
                            .Show
     
     
     
                            If .SelectedItems.Count = 1 Then
                                strDir = .SelectedItems(1)
                            Else
                                msgErr = "La macro termine son exécution"
                                MsgBox msgErr, vbInformation, "Arrêt"
                                End
                            End If
                        End With
    © nchal

    C'est un code perso, attention au copyright

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Points : 25
    Points
    25
    Par défaut
    ca marché .Mercie

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/02/2013, 14h45
  2. même problème acces concurrent aux fichiers sur le serveur
    Par al3alwa dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 11/06/2007, 17h51
  3. acces concurent à des fichiers sur le serveur
    Par al3alwa dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 08/06/2007, 16h41
  4. Réponses: 3
    Dernier message: 26/02/2007, 11h49
  5. Récupérer le nom du fichier sans le chemin d'accès
    Par bianconeri dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2006, 17h02

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