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 :

[XL-2013] - Importation de données


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [XL-2013] - Importation de données
    Bonjour à tous,

    Je débute en programmation et j'essaie actuellement d'importer des données d'un classeur Excel dans un autre.

    J'ai réussi à faire ce que je voulais grâce à ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Importer_donnees()
        'L'utilisateur choisi un fichier à ouvrir
        Application.Workbooks.Open Application.GetOpenFilename()
        Cells.Select
        Selection.Copy
        ActiveWindow.Close
        ThisWorkbook.Activate
        Sheets("Données importées").Select
        Range("A1").Select
        ActiveSheet.Paste
    End Sub
    Cependant, il reste 2 problèmes que je n'arrive pas à gérer...

    Tout d'abord, si j'annule l'ouverture du document grâce à "GetOpenFilename", le système prend ça comme un "FAUX" et va tenter de chercher le fichier faux.xlsx, ce qui n'aboutit à rien. Y a-t-il un moyen pour faire considérer le "faux" comme une annulation de la commande ?

    Quand à mon 2ème problème, il s'agit du presse-papier. Une fois les données copiées, lors de "ActiveWindow.Close", la fenêtre demandant si je veux sauvegarder les données du press-papier apparaît. Si je dit "oui", tout se passe bien. Mais si je dit "non", il y aura un bug lors de "ActiveSheet.Paste". Y aurait-il un moyen afin d'auto-valider la sauvegarde en press-papier ?

    Voilà les 2 soucis que je n'ai pas réussi à résoudre ! Si vous avez un peu de temps pour m'aider à trouver des solutions, je vous en serez reconnaissant !

    Merci et bonne journée,
    Erwith

  2. #2
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut




    Bonjour,

    pour GetOpenFilename, c'est vraiment tout bête : il suffit de consulter l'aide VBA de cette méthode et son exemple ‼




    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 115
    Points : 180
    Points
    180
    Par défaut
    Bonjour

    Ce ne sont pas des réponses directes, mais plutôt des pistes à tester

    1) Pour ouvrir les fichiers, j'utilise Application.FileDialog (GetOpenFilename ne fonctionne pas dans l'Excel de mon entreprise).
    Les exemples sont assez complets dans l'aide et c'est facile de gérer l'annulation
    2) Pour ne pas avoir de question, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts:=False
    , en gérant la réponse en amont, bien entendu


    @+

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci beaucoup pour vos réponses. Je suis parvenu à corriger mon code pour qu'il marche à la perfection.

    Le voici, pour les intéressés :
    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
    Sub Importer_résultat()
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        pFichier = Application.GetOpenFilename("Fichier Excel,*.xls")
        If pFichier = False Then Exit Sub
        Set classeurSource = Workbooks.Open(pFichier)
        Cells.Select
        Selection.Copy
        ActiveWindow.Close
        ThisWorkbook.Activate
        Sheets("Données résultat").Select
        Range("A1").Select
        ActiveSheet.Paste
        Sheets("Commandes").Select
    End Sub
    Je ne parviens par contre pas à comprendre ce que fait la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Set classeurSource = Workbooks.Open(pFichier)
    Merci et bonne journée !

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

Discussions similaires

  1. Importer des données grace a des *.cvs dans MySQL
    Par Mic0001 dans le forum Installation
    Réponses: 3
    Dernier message: 05/01/2005, 19h26
  2. [CR]Importer des données d'une feuille excel
    Par rolan dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 17/12/2004, 22h32
  3. Réponses: 3
    Dernier message: 13/12/2004, 13h54
  4. Importer des données dans sql server avec DELPHI ???
    Par moutanakid dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2004, 17h22
  5. Importation de données postgresql
    Par ythierrin dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 10/10/2003, 22h18

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