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 de données entre deux tableaux aux mêmes colonnes


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut récup de données entre deux tableaux aux mêmes colonnes
    Bonjour,
    Je suis débutante en excel, et ca fait quasiment deux heures que je surfe sur le net pour trouver une réponse à ma question, mais avec mon faible niveau, même quand je trouve un sujet en rapport avec ce que je cherche je ne comprends rien à ce qui est dit.
    J'ai actuellement un fichier base de données excel de plus de 900 noms, avec adresse, numéro de téléphone, notes...
    J'en extrait régulièrement des parties que j'envoie par mail, et qu'on me renvoie avec des colonnes mises à jour.
    Comment créer une macro (ou une formule) pour que les données mises à jour soient de nouveau intégrées au tableau principal sans que j'ai à tout saisir manuellement?
    J'espère avoir été assez clair.
    Et puis-je vous demander une faveur? pourriez vous être hyper précis dans vos explications, sans cela j'ai peur de ne pas m'en sortir.
    En tout cas, je vous remercie d'avance, vous allez peut-être me sauver de nombreuses heures de saisie.
    J'attends impatiemment vos réponses.

  2. #2
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour leowish,

    est ce que tu peut trier ton tableau principal sans problème ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Oui, je peux trier mon tableau. §J'ai des filtres à chaque titre de colonnes.
    Pourquoi?

  4. #4
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour leowish,

    excuse moi ma question n'était pas assez précise,
    est ce que ses lignes de données que tu as envoyer sont adjacente dans la base ?
    peut tu trier le tableau en ordre croissant ?
    peut t'il y avoir des doublons dans la colonne Nom ?

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    bonjour,
    Malheureusement mes colonnes ne sont pas adjacentes, et les lignes que j'extrais ne suivent pas un ordre précis, c'est la raison pour laquelle la tâche me parait ardue!

  6. #6
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    peut t'il y avoir des doublons dans la colonne Nom ?
    et quant est t'il des doublons ?

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    dans l'idéal, il ne devrait pas y avoir de doublons, mais seulement dans l'idéal, donc je pense devoir répondre à cette question par l'affirmative.

  8. #8
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour leowish,

    il faudrait qu'il y ai une cle de référence unique dans le fichier base de données, sans ça c'est impossible de retrouver exactement de quel ligne provienne les données que tu as envoyées pour correction, en utilisant seulement le nom il y a un gros risque d'erreur.

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Alors il faudrait que je nomme chacune des lignes par un numéro?
    Et ensuite?

  10. #10
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    ensuite lorsque les données reviennent tu peut retrouver leurs emplacement sur le fichier base avec la fonction (EQUIV) (Match en vba)
    n'oublie pas d'adapter le nom des fichiers et des feuilles.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Macro1()
    Dim base As Object, cr As Object
    Set base = Workbooks("LaBase").Sheets("base")
    Set cr = Workbooks("LesCorrections").Sheets("Corrections")
    'de la ligne 2 à la derniere ligne de Workbooks("LesCorrections").Sheets("Corrections")
    For i = 2 To cr.Range("A65536").End(xlUp).Row
        'trouve l'emplacement de la premiere cellule ligne i dans le fichier base
        ligne = Application.Match(cr.Range("A" & i), base, 0)
        'copie les nouvelles données
        cr.Rows(i).Copy base.Rows(ligne)
        'vide le presse papier
        Application.CutCopyMode = False
    Next
    End Sub

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup, je vais essayer, et je vous tiens au courant.
    En tout cas merci pour votre réactivité!!

  12. #12
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour leowish,

    il y avait un erreur sur la macro, je n'ai pas indiquer dans quel colonne chercher sur le fichier base. et aussi je n'avais pas préciser mais la cle doit être mit en colonne A sinon il faudra adapter la macro. voici la correction,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Macro1()
    Dim base As Object, cr As Object
    Set base = Workbooks("LaBase").Sheets("base")
    Set cr = Workbooks("LesCorrections").Sheets("Corrections")
    'de la ligne 2 à la derniere ligne de Workbooks("LesCorrections").Sheets("Corrections")
    For i = 2 To cr.Range("A65536").End(xlUp).Row
        'trouve l'emplacement de la premiere cellule ligne i dans le fichier base
        ligne = Application.Match(cr.Range("A" & i), base.Range("A:A"), 0)
        'copie les nouvelles données
        cr.Rows(i).Copy base.Rows(ligne)
        'vide le presse papier
        Application.CutCopyMode = False
    Next
    End Sub

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/07/2014, 16h51
  2. transfert de données entre deux tables
    Par student007 dans le forum Access
    Réponses: 4
    Dernier message: 23/12/2005, 13h04
  3. Réponses: 5
    Dernier message: 30/11/2005, 16h41
  4. Passage de données entre deux pages
    Par spica92 dans le forum ASP
    Réponses: 2
    Dernier message: 08/09/2005, 14h38
  5. [ADO.Net][VB.NET] Comment copier des données entre deux BDD différentes ?
    Par maddog2032 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 06/06/2005, 11h01

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