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 :

Connecter des données entre classeurs Excel (Données sélectionnées par mon choix)


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Points : 59
    Points
    59
    Par défaut Connecter des données entre classeurs Excel (Données sélectionnées par mon choix)
    Bonjour a tous,

    J'ai un petit problème avec la connexion de données dans Excel.

    J'ai plus au moins, une grande partie de données dans une feuil excel (environs 3000 lignes) à faire connecté vers un autre classeur excel.

    La méthode proposé dans excel permet de faire connecté ces données en sélectionnant la feuil (ce qui m'oblige de mettre les donnés a partir de la 1er ligne et la 1er colonne avec les entêtes en premier bien sure).

    Mais dans mon cas, les entêtes commencent à partir de la 8eme ligne (les premières lignes, je les ai utilisé pour afficher quelques calculs lorsque je fais un filtre sur ma feuil de données).

    En résumé, j'aimerai faire une connexion à partir d'une plage donné (sélection par mon choix) vers un autre classeur (feuil).

    Alors, j'aimerai savoir, qu'elle est la méthode approprier pour faire cela.

    Merci d'avance pour toutes proposition.

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 33
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub connect
    Workbooks("Classeur2").Sheets("Feuil1").range("taplage").Value = Workbooks("classeur1").Sheets("Feuil1").range("taplage").Value
    End Sub
    Il ne te reste plus qu'à indiquer le nom de ton classeur, ta feuille et ta plage
    Le classeur ressemble à "monclasseur.xlsm" et pour le reste ça change pas
    Lance cette macro de mise à jour quand tu veux pour voir apparaitre tes cellules sur le classeur 2 à jour.
    Si tu ne comprends pas comment marche une macro, n'hésite pas !

    Cordialement,
    un aspirant à la programmation

  3. #3
    Membre du Club
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Oh ! Merci Overeath....j'aime bien ceci.

    Ok, Je vais essayer ce code et je vous rendrai la réponse du résultat.

  4. #4
    Membre du Club
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Pour un premier test ça ma donné un message d'erreur '9' : L'indice n'appartient pas à la sélection.

    Voila, Je décrit ce que j'ai fait en détail:

    Sub connect()
    Workbooks("Test.xlsm").Sheets("Feuil1").Range("r8C2:r20c10").Value = Workbooks("BDsource_test2.xlsm").Sheets("Feuil1").Range("r1C1:r20c10").Value
    End Sub

    Question: est-ce que je doit mettre ce code au niveau du classeur source ou dans le classeur de destination des données ?

    Mon exemple est le suivant:

    Ficher de source de données : BDsource_test2.xlsm
    Fichier de destination des données : Test.xlsm

    Existe-il une erreur dans mon code ?

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 33
    Points : 48
    Points
    48
    Par défaut
    Tu dois placer ce code dans le classeur de destination de tes données et effectivement, il y a 2 erreurs dans ton code d'après moi
    L'outil range sert à "sélectionner" une plage de cellule qui doit se composer comme ceci : range("cellule en haut à gauche du tableau:cellule en bas à droite du tableau")
    Et la j'ai pas trop compris ce que tu as mis aux deux range ^^

  6. #6
    Membre du Club
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Mon classeur est on mode R1C1, les entêtes ils sont en chiffres (1,2,...) pas en lettres (A,B,...).

    Ma plage est "r8C2:r17c11" en lettre ça devrai être "B2:K17", le R et le C, c'est Row et Column en anglais.

    Oui, je ne suis pas sure de ma sélection "R8C2:R17C11" est correct, mais l'essentiel ma sélection en lettre devrait être "B2:K17".

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 33
    Points : 48
    Points
    48
    Par défaut
    J'ai essayé cette macro, les deux classeurs ouverts sur une plage défini un peu au hasard et toutes les valeurs se sont placées sans problème.
    Effectivement, si le classeur source n'est pas ouvert, cela ne fonctionnera pas (je viens d'essayer), il faut donc ouvrir le classeur via ta macro puis le refermer si tu veux .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub connect
    Application.Workbooks.Open "d:\classeur1.xls"
    Workbooks("Classeur2").Sheets("Feuil1").range("taplage").Value = Workbooks("classeur1").Sheets("Feuil1").range("taplage").Value
    T = Timer: While T +2 > Timer: Wend ' le temps que les données se transfèrent
    Workbooks("classeur1").close false
    End Sub
    Je viens d'essayer aussi et tout marche parfaitement
    Et le message d'erreur vient du nom de ton classeur/feuile où tu as du te tromper

  8. #8
    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 !

    Si le classeur n'est pas ouvert, en dehors de la possibilité de le détecter et donc de l'ouvrir,
    il y a deux autres possibilités :  une via une simple formule de calculs donc accessible au débutant,
    l'autre par connexion ADO comme exposée dans un tutoriel …

    Je rappelle qu'ici étant le forum des formules de feuilles de calculs,
    toute question de code doit être posée dans le bon forum et où il y a le plus de passage …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Stockholm, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    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)

  9. #9
    Membre du Club
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Parfait ! Oh, merci beaucoup Overeath.

    Oui en fin de compte le problème étais au niveau de la plage.

    Très intéressant comme code.

    Merci Overeath.

  10. #10
    Membre du Club
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Merci Marc pour le complément,

    En faite, oui vous avez raison.

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

Discussions similaires

  1. [XL-2016] Transferer des données entre classeurs
    Par chrisdu86 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 05/12/2016, 15h06
  2. Transfert de données entre classeurs
    Par RéviAT dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/06/2008, 09h49
  3. Copier des données de classeurs Excel fermés vers un classeur ouvert
    Par gwen-al dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 11/03/2008, 17h00
  4. Réponses: 8
    Dernier message: 03/07/2007, 09h11
  5. comment effectuer des mises à jour entre classeurs excel ?
    Par benjamin.garbolino dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/03/2006, 00h51

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