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 :

Charger/Importer fichier excel depuis un formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Points : 102
    Points
    102
    Par défaut Charger/Importer fichier excel depuis un formulaire
    Bonjour à tous,

    Je souhaite créer un petit programme excel, appelons le "MonProjet". Il me faut un formulaire (userform) permettant à l'utilisateur de charger/importer un fichier excel déjà mis en forme; du type: première colonne "Activité", deuxième "Date de dernière réalisation", troisième "Nom de l'agent aillant réalisé l'activité".

    Ce fichier excel importé, permettrait d'alimenter/compléter la base de donnée déjà pré-existante de "MonProjet". En pratique, je souhaiterais voir apparaître ceci sur mon formulaire:

    Nom : Capture_Charger_Fichier.JPG
Affichages : 507
Taille : 14,1 Ko



    Mes questions sont les suivantes:

    1) Comment adjoindre cette fonctionnalité à mon formulaire ?
    2) Une fois le fichier excel chargé, où est-il ? Comment l'utiliser ? Comment accéder à ses informations/données ? Comment le supprimer une fois que les information importantes ont-été récupérée ?


    Je vous remercie d'avance pour votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Même réponse que dans l'autre forum :
    Un début de piste. Sur ton formulaire tu pose 1 CommandButton nommé "CmdParcourir", un second CommandButton nommé "CmdUtiliser" puis un Label nommé "LblFichier" puis tu colle le code ci-dessous dans le module du formulaire puis tu le lance :
    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
     
    Private Sub CmdParcourir_Click()
     
        Dim Fich
     
        Fich = Fichier
     
        If Fich <> "" Then LblFichier.Caption = Fich
     
        If LblFichier.Caption <> "Aucun fichier sélectionné." Then CmdUtiliser.Enabled = True
     
    End Sub
     
    Function Fichier() As String
     
        '1 ouvrir un fichier
       '2 enregistrement de fichier
       '3 sélection de fichier
       '4 sélection de dossier
       With Application.FileDialog(1)
     
            .Show
     
            On Error Resume Next 'si annuler
     
            Fichier = .SelectedItems(1)
     
            If Err.Number <> 0 Then Fichier = ""
     
        End With
     
    End Function
     
    Private Sub CmdUtiliser_Click()
     
        Dim Cls As Workbook
     
        Set Cls = Workbooks.Open(LblFichier.Caption)
     
        'ici commence le code pour faire ce que tu veux avec le classeur que tu viens d'ouvrir...
     
    End Sub
    Hervé.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Points : 102
    Points
    102
    Par défaut VBA: Copier une feuille d'un classeur dans une feuille du classeur principal
    Hervé,

    Comme répondu sur l'autre forum, je joins une complément de code pour copier la feuille du classeur ouvert/chargé, coller son contenu dans une feuille du classeur actif (déjà pré nommée "Données Provisoires" et puis fermer le classeur chargé.


    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
        Private Sub CmdUtiliser_Click()
     
                  ' Transfert du contenu chargé dans une nouvelle feuille du classeur principal
     
            Dim Cls As Workbook, MainWB As Workbook
     
            Set MainWB = ThisWorkbook
            Set Cls = Workbooks.Open(LblFichier.Caption)
     
           ' Copie le contenu du fichier ouvert et le colle dans la feuille de données provisoires
     
            Cls.Sheets("Feuil1").Cells.Copy MainWB.Sheets("Données Provisoires").Range("A1")
     
            Cls.Close True 'Ferme le fichier "chargé
     
        End Sub

Discussions similaires

  1. Importation d'un fichier Excel depuis internet.
    Par george33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/01/2011, 10h39
  2. Charger un fichier excel depuis forms
    Par sphinx18 dans le forum Forms
    Réponses: 6
    Dernier message: 01/10/2008, 22h11
  3. Réponses: 2
    Dernier message: 13/11/2007, 14h58
  4. généré un fichier excel depuis un formulaire php
    Par wadoux dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 08/03/2007, 17h12
  5. importation fichiers multiples depuis excel vers excel
    Par zougna dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/11/2006, 17h04

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