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 :

Importer Liste dernière ligne [XL-2016]


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 114
    Points : 59
    Points
    59
    Par défaut Importer Liste dernière ligne
    Bonjour,
    Je cherche le moyen d'écrire en VBA le code suivant :
    Sur mon fichier1 je souhaite avoir une box qui me lance une requête qui me demande une date que je garderai dans la feuil1 en P2 et le plus compliqué qui me demande qu'elle fichier je veux importer.
    De ce fichier2 (fichier à importer qui change toujours de nom) je veux importer les colonnes A jusque N de la 2ème ligne à la dernière ligne, et je veux que toutes ces données soit importer sur le fichier1 à partir de la dernière ligne

    Ps: j'ai suivi ce tutoriel mais je n'y arrive pas.. https://silkyroad.developpez.com/VBA/ClasseursFermes/

    Cordialement

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Intégré au VBA, il existe la propriété FileDialog de l'objet Application qui permet d'afficher la boîte de dialogue correspondant à l'argument que l'on passe à cette propriété.
    Ainsi l'argument
    • msoFileDialogFolderPicker - Affiche la boîte de dialogue Sélection de dossier
    • msoFileDialogFilePicker - Affiche la boîte de dialogue Sélection de fichier


    Exemple de la fonction GetFolder
    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
    Function GetFolder(Optional StrPath As String, Optional Title As String = "Sélection d'un dossier") As String
      ' Fonction qui renvoie le dossier sélectionné
      '   Utilise la boîte de dialogue FileDialog(msoFileDialogFolderPicker)
      ' Philippe Tulliez - www.magicoffice.be
      '
      ' Arguments
      '  [strPath]  Nom du répertoire par défaut si pas rempli
      '  [Title]
      Dim SelectedFolder As String
      If Len(StrPath) = 0 Then StrPath = Application.ActiveWorkbook.Path & "\"
      If Right(StrPath, 1) <> "\" Then StrPath = StrPath & "\"
      With Application.FileDialog(msoFileDialogFolderPicker)
      .Title = Title
      .InitialFileName = StrPath
      .Show
       Select Case .SelectedItems.count
         Case Is > 0: SelectedFolder = .SelectedItems(1)
         Case Else: SelectedFolder = ""
       End Select
      End With
      GetFolder = SelectedFolder
    End Function
    Que l'on invoque par exemple avec cette procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub TestGetFolder()
      Dim Folder As String
      Folder = GetFolder()
      If Len(Folder) Then
         MsgBox "Vous avez sélectionné le répertoire : " & vbCrLf & Folder
        Else
         MsgBox "Vous n'avez rien sélectionné"
      End If
    End Sub
    Autre option, il existe la fonction Dir que l'on peut utiliser pour lister la liste des fichiers ou dossiers contenu dans un dossier particulier
    Voici une fonction que j'utilise et qui renvoie une table avec les fichiers cherchés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function FileList(ByVal LookUpFullName As String) As Variant
      ' Renvoie une liste avec les fichiers présents dans le répertoire défini pas l'argument LookUpFullName
      ' Philippe Tulliez http://www.magicoffice.be
      ' Argument
      '   LookUpFullName (String) Répertoire + nom du fichier + extension (Les caractères génériques * et ? sont acceptés
      Dim File As String, Counter As Integer, List()
      File = Dir(LookUpFullName)
      Do
        ReDim Preserve List(Counter): List(Counter) = File: Counter = Counter + 1
        If Len(File) Then File = Dir
      Loop While Len(File)
      FileList = List
    End Function
    Exemple de son utilisation
    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
    Sub TestFileList()
       ' Déclaration
       Dim Folder As String
       Dim tblFile()
       Dim SubFolder As String
       Dim Elem As Byte
       Dim msg As String
       '
       Folder = ThisWorkbook.Path
       'SubFolder = "\Folder Empty\"
       'SubFolder = "\data\"
       If Len(SubFolder) = 0 Then SubFolder = "\"
       tblFile = FileList(Folder & SubFolder & "*.xls*")
       If Len(tblFile(0)) Then
          For Elem = 0 To UBound(tblFile)
            msg = msg & vbCrLf & tblFile(Elem)
          Next
        Else
          msg = "Aucun fichier trouvé"
       End If
       MsgBox msg
    End Sub


    Etc.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Bonjour,
    Tout d'abord grand Merci pour ta réponse, mais je ne vois pas en quoi le code puissent me servir, compte tenu que ce code enregistre un répertoire.

    Moi je cherche à

    Copier de la 2ème ligne à la dernière ligne (colonne A:N) d'un fichier (fichier2) situé à un endroit aléatoire et portant un nom aléatoire ET à coller ces informations à la dernière ligne de mon fichier1 feuil2

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    je ne vois pas en quoi le code puissent me servir, compte tenu que ce code enregistre un répertoire.
    Non, ce code est un exemple montrant que l'on peut utiliser les boîtes de dialogue natives d'excel par VBA et l'autre exemple que l'on peut utiliser la fonction Dir pour chercher soit un répertoire, soit un fichier et ce en utilisant des caractères génériques (* et ?) ce qui me semble t'il peut apporter une solution à l'un des problèmes décrits dans ta demande initiale (voir ci-dessous)
    e plus compliqué qui me demande qu'elle fichier je veux importer.
    De ce fichier2 (fichier à importer qui change toujours de nom)
    Ta demande nécessite deux réponses bien distinctes car ce sont des tâches totalement différentes
    1. trouver le fichier et/ou le répertoire où se trouve les données à importer
    2. copier les données provenant d'une plage de cellules (la source) vers une autre cellule (la cible)

    J'ai donc répondu à la première partie de ta demande car pour copier d'une source vers une cible, c'est la même instruction quel que soit l'endroit où se trouve la source et la cible
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Entre temps j'ai approfondi et j'ai réussi grâce au développement que tu m'as exposé.
    Merci!

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour et merci pour ton retour
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    C'est à moi de te remercier de ton aide !

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

Discussions similaires

  1. [XL-2013] Pas la dernière ligne d'une zone de liste
    Par jatartaak dans le forum Excel
    Réponses: 1
    Dernier message: 18/01/2019, 19h27
  2. [JScrollPane] [JTable] Se placer à la dernière ligne
    Par wishnight dans le forum Composants
    Réponses: 9
    Dernier message: 24/12/2015, 18h42
  3. Copier Coller deux dernières lignes dont liste déroulante
    Par nicodvn dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/09/2014, 23h17
  4. Réponses: 1
    Dernier message: 10/05/2005, 14h14
  5. l'identifiant unique de la dernière ligne insérée
    Par dim_italia dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/08/2004, 17h55

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