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 :

Nom fichier variable sans extension ni chemin [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut Nom fichier variable sans extension ni chemin
    Bonjour,

    Tout est dans le titre, je n'arrive pas à avoir le nom de mon fichier sans l'extension, et pourtant j'ai cherché...
    Ca doit être tout con en plus !

    Voici mon code, j'arrive juste à enlever le chemin.. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub ParcourirFichierMaj_Click()
    FichierDeMaj = Application.GetOpenFilename("Tous,*.*", , "Choisir un fichier ...")
    MaJ.LocalisationMaj.Text = FichierDeMaj
    pos = InStr(FichierDeMaj, ".xlsx")
     FichierMajSansChemin = Mid(FichierDeMaj, InStrRev(FichierDeMaj, "\") + 1)
     Debug.Print FichierMajSansChemin
     FichierMaj = Left(FichierMajSansChemin, pos - 1)
     Debug.Print FichierMaj
    End Sub
    Merci d'avance pour votre aide...

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Bonjour à toi,

    Je dirais tout de même que tu n'as pas du chercher beaucoup....
    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
    Private Sub test()
        Dim FichierDeMaj As String
        Dim chemin As String
        Dim ext As String
        Dim fileExt
     
        FichierDeMaj = Application.GetOpenFilename("Tous,*.*", , "Choisir un fichier ...")
     
        'Si on veut le chemin
        chemin = Left(FichierDeMaj, InStrRev(FichierDeMaj, Application.PathSeparator) - 1)
     
        'On extrait le nom du chemin complet
        FichierDeMaj = Right(FichierDeMaj, Len(FichierDeMaj) - InStrRev(FichierDeMaj, Application.PathSeparator))
     
        'On split sur le . pour extraire le nom et l'extension
        fileExt = Split(FichierDeMaj, ".")
     
        'Si on veut l'extension
        ext = fileExt(1)
     
        'On extrait le nom sans l'extention
        FichierDeMaj = fileExt(0)
     
        Debug.Print chemin
        Debug.Print FichierDeMaj
        Debug.Print ext
    End Sub
    Utilisation de Application.PathSeparator pour total compatibilité (Mac par exemple).
    Fonctionne avec n'importe quel type de ficiher, extension à 3 ou 4 (autant qu'on veut en fait) caractères.

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    fichierdemaj = Application.GetOpenFilename("Tous,*.*", , "Choisir un fichier ...")
    If fichierdemaj = False Then
      MsgBox "aucun fichier choisi": Exit Sub '======= prévoir
    End If
    MsgBox fichierdemaj
    pos = InStr(fichierdemaj, ".")
     FichierMajSansChemin = Mid(fichierdemaj, InStrRev(fichierdemaj, "\") + 1)
     MsgBox FichierMajSansChemin
     pos = InStr(FichierMajSansChemin, ".")
     FichierMaj = Left(FichierMajSansChemin, pos - 1)
     MsgBox FichierMaj

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ParcourirFichierMaj_Click()
        Const EXT = ".xlsx"
           V = Application.GetOpenFilename("Classeurs Excel,*" & EXT, , "   Choisir un classeur  :")
        If V = False Then Exit Sub
        MaJ.LocalisationMaj.Text = V
        V = Split(V, Application.PathSeparator)
        Debug.Print V(UBound(V))
        FichierMaj$ = Replace$(V(UBound(V)), EXT, "")
        Debug.Print FichierMaj
    End Sub
    ______________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  5. #5
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut
    Merci aussi Marc pour ton code.

    Ma ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Workbooks("FichierIviz").Worksheets("LUP – QC Délai et Liste Quotidi").Range("A" + CStr(i)).Value = "QX07007040" Then
    me génère une erreur et si je la remplace par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks(FichierIviz).Activate
        If Worksheets("LUP – QC Délai et Liste Quotidi").Range("A" + CStr(i)).Value = "QX07007040" Then
    Tout va bien... J'comprends pas pourquoi le "Workbooks(FichierIviz).Worksheets" passe pas....

    J'ai besoin de vos lumières T.T

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut
    Et comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Workbooks("FichierIviz.xlsx").Worksheets("LUP – QC Délai et Liste Quotidi").Range("A" + CStr(i)).Value = "QX07007040" Then

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par backx3 Voir le message
    J'comprends pas pourquoi le "Workbooks(FichierIviz).Worksheets" passe pas...
    Si FichierIviz est une variable donc il ne doit pas y avoir de guillemets l'encadrant !

  8. #8
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut
    Merci beaucoup pour ta réponse super rapide super claire avec des supers commentaires !
    Tout est parfait.

    Maintenant que j'ai le nom de mon fichier, je devrais pouvoir exécuter la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("FichierIviz").Worksheets.....
    Pourtant, j'ai une erreur à la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Workbooks("FichierIviz").Worksheets("LUP – QC Délai et Liste Quotidi").Range("A" + CStr(i)).Value <> Workbooks("FichierMaJ").Worksheets("LUP – QC Délai et Liste Quotidi").Range("A" + CStr(i)).Value Then
    Saurais-tu pourquoi ?

    Désolé d'abuser....

    EDIT : Merci pour tes précisions umpa' ! J'avoue que c'est pas mal du tout de prévoir si aucun fichier n'est choisi
    Désolé j'étais entrain d'écrire quand tu m'a répondu ^^

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

Discussions similaires

  1. [XL-97] Fichier renommé sans extension
    Par wahoo dans le forum Excel
    Réponses: 0
    Dernier message: 22/05/2013, 11h34
  2. Problème avec Select imbriqué nom fichier variable
    Par gb1963 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/08/2011, 14h47
  3. Réponses: 5
    Dernier message: 23/02/2011, 10h50
  4. nom de ficher sans extension
    Par charouel dans le forum VB.NET
    Réponses: 1
    Dernier message: 10/08/2009, 15h31
  5. sql loader et fichier data sans extension
    Par fguigui dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 03/04/2007, 15h31

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