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 :

Macro Parcourir pour ouvrir classeur / copier données dans autre classeur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Macro Parcourir pour ouvrir classeur / copier données dans autre classeur
    Bonjour a tous et merci d'avance pour le temps que vous allez consacrer à m'aider!

    Alors voici mon problème, je suis en train de créer un "logiciel" avec plusieurs macros pour mon entreprise.
    Pour que ce logiciel fonctionne correctement l'utilisateur doit aller ouvrir un autre classeur, et copier les données de celui ci dans la feuille 3 de mon logieciel avant de lancer la macro.

    Le problème est que je me rend compte que beaucoup de personnes de ma boite font des erreurs, collent au mauvais endroit les données etc.

    Pour ce, je suis entrain de créer une feuille "Index" ou l'utilisateur n'aura qu'a appuyer sur les différents boutons sans jamais rien copier toucher ou changer de feuille.

    Pour cela j'aurai besoin d'une macro qui demanderai à l'utilisateur d'aller choisir le fichier à ouvrir, et que une fois que celui ci l'a choisit, les données du classeur soient automatiquement copiées en cellule B2 de la feuille 3 de mon logiciel puis que le classeur d'ou proviennent les données se ferme automatiquement une fois celles ci copiées...

    Je ne sais pas trop si c'est compliqué ou faisable, mais j'ai beau chercher partout comme tout le monde programme différemment je n'arrive pas à faire fonctionner ensemble les bouts de code écris par chacun.

    Merci d'avance pour votre aide!

    Romain.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    Ce n'est pas tout à fait ce que tu demandes mais c'est un début.

    Il ne manque que la sélection du dossier à copier.

    Si tu veux faire un test, écrit le chemin d'accès vers un fichier après "titre="

    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
     
     
    Sub Importation()
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
     
    Sheets("Feuil3").Columns("A:Y").ClearContents
     
    Dim titre As String
    Dim wbk1 As Workbook
    Dim wbk2 As Workbook
    ‘Les utilisateurs copieront le chemin d’accès dans la case A1 de la feuille Index 
    titre = Sheets(“Index”).Range("A1") 'Je ne suis pas sûre que cette partie fonctionne
    Set wbk1 = ThisWorkbook
    Set wbk2 = Workbooks.Open(titre, local:=True)   ' jouvre le classeur (titre)
     
    wbk2.Sheets(1).Range("A:Y").Copy Destination:=wbk1.Sheets("Feuil3").Range("B2")
    wbk2.Close
     
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    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
    Sub OuvSAS()
     
    Dim classeurSource As Workbook
    Dim nomFichier As String
     
        nomFichier = Application.GetOpenFilename("Fichier Excel (*.xls), *.xls")
     
            If Len(Replace(nomFichier, ".xls", "")) = Len(nomFichier) Then
                MsgBox "Format fichier invalide"
            Else
                Set classeurSource = Application.Workbooks.Open(nomFichier)
            End If
     
            Set Doc1 = classeurSource.Sheets("Feuil1")
            Set Doc2 = Workbooks("Fichier excel restitution NEW DEAL.xls").Sheets("New Deal")
     
            Doc1.Range("A:Y").Copy Destination:=Doc2.Range("B2:AA2")
            Doc2.Close
     
     
    End Sub
    Merci de ton aide j'ai adapté avec ce que j'avais déjà fait et ça à l'air de fonctionner excepté que pour coller les valeur excel bloque car à cause du fait que les cellules du Doc1 et Doc2 ne sont pas du même format.

    Une idée de comment résoudre se dernier problème?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Oui, tu définis le format de tes colonnes avant l'importation.

    Tu peux aussi importer toute la feuille puis insérer une ligne et une colonne pour décaler les valeurs en B2

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/02/2015, 18h11
  2. [XL-2010] Macro pour aller chercher des données dans un autre fichier
    Par GoToon dans le forum Macros et VBA Excel
    Réponses: 40
    Dernier message: 24/01/2015, 03h52
  3. Réponses: 1
    Dernier message: 10/06/2014, 17h05
  4. Macro VBA pour ouvrir un script dans Autocad
    Par Nicletess dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/04/2014, 09h30
  5. [XL-2003] Création userform pour recherche de données dans un classeur
    Par matt-angel17 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 02/08/2013, 10h41

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