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 :

Récupérer des données à partir d'un fichier EXCEL


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut Récupérer des données à partir d'un fichier EXCEL
    Bonjour,

    Je me permets de solliciter votre aide sur le point suivant :

    Je souhaite réaliser une macro permettant de rechercher un fichier EXCEL via une boîte de dialogue, de récupérer la valeur de plusieurs cellules sur un onglet (soit un copier-coller) sans ouvrir ce fichier.

    Je ne sais pas comment procéder pour faire un copier-coller de données, tout en fermant le fichier source.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonsoir

    Je souhaite réaliser une macro permettant de rechercher un fichier EXCEL via une boîte de dialogue,
    Comment choisir un fichier sur le PC et récupérer son nom (utilisation de GetOpenFilename) ?



    de récupérer la valeur de plusieurs cellules sur un onglet (soit un copier-coller) sans ouvrir ce fichier.
    http://silkyroad.developpez.com/VBA/ClasseursFermes/


    bon week end
    michel

  3. #3
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Je crois que tu devrais pouvoir te débrouiller avec ceci :
    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
        Dim FileToOpen
        Dim shAncien As Worksheet
        Dim shNouveau As Worksheet
     
        Set shAncien = ActiveSheet
     
        FileToOpen = Application.GetOpenFilename()
        Workbooks.OpenText Filename:= _
            FileToOpen, _
            Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlNone, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma _
            :=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
            TrailingMinusNumbers:=True
     
        Set shNouveau = ActiveSheet
     
        shNouveau.Cells(1, 1) = shAncien.Cells(1, 1)
     
    '   Active celui que tu veux fermer.
        shAncien.Activate
        shNouveau.Activate
    '   ********************************
     
        ActiveWorkbook.Close
    Si tu as besoin d'aide, n'hésite pas!

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut
    Bonsoir,

    En testant, le fichier de référence s'ouvre et je n'arrive pas à faire de copier coller de plusieurs cellules (fichier origine => fichier final) qui ne sont pas côte à côte dans la feuille. Par ailleurs, je me permets de vous demander la démarche à suivre pour supprimer les clignotements (provoqués par le basculement des fichiers).

    Merci d'avance pour votre aide.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Points : 307
    Points
    307
    Par défaut Rafraichissement écran
    Pour éviter les scintillements écran , tu peux utiliser la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.ScreenUpdating = False
    Pour le problème de copie de cellule non côte à côte , je ne comprend pas car tu fais de la copie cellule par cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     shNouveau.Cells(X, Y) = shAncien.Cells(X, Y)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Points : 36
    Points
    36
    Par défaut
    Merci. Cela fonctionne.

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

Discussions similaires

  1. Importer des données à partir d'un fichier excel fermé
    Par yassinefeki dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/06/2019, 10h54
  2. Réponses: 9
    Dernier message: 19/03/2015, 16h10
  3. Importer des données à partir d'un fichier excel fermé
    Par maniveaudelaye dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/05/2014, 10h36
  4. [XL-2007] Importer des données à partir d'un fichier excel
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/06/2011, 19h05
  5. Réponses: 5
    Dernier message: 17/06/2008, 17h05

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