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 :

Import de données en provenance d'autres onglets


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Janvier 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Janvier 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Import de données en provenance d'autres onglets
    Bonjour,

    Je me permets de vous solliciter car j’aurais besoin de votre aide concernant une macro. Je possède un fichier Excel partagé avec plusieurs onglets :

    - Un onglet « synthèse » possédant un certain nombre de colonnes (de la colonne A à S)
    - Plusieurs autres onglets (pour différentes personnes) possédant les mêmes colonnes que l’onglet de synthèse.
    L’objectif serait que chaque personne ait la possibilité de remplir ses données dans l’onglet qui lui est associé et qu’en fin de journée (par exemple) je puisse avec l’aide d’une macro récupérer l’ensemble des données de chaque onglet afin de les coller (les unes à la suite des autres) dans l’onglet de synthèse.

    Je sais que via l’enregistreur de macro il est possible de « régler » ce type d’action, ceci étant je me pose plusieurs questions notamment en ce qui concerne la sélection des données… Dans mon fichier je souhaite pouvoir garder au moins l'onglet de synthèse rempli jour après jour ce n'est pas grave si après chaque lancement de la macro les autres onglets (personnes1/2/3/4/5 soient effacés sauf la 1ere ligne de chaque). Ainsi lorsque je vais devoir importer les données il faudra que je puisse sélectionner la ligne d’arrivée (à partir de quelle ligne de l’onglet de synthèse je colle mes données).

    Pour illustrer mon idée :

    En admettant avoir lancé la macro le jour d’avant (N-1) et que mon onglet de synthèse possède 30 lignes de rempli il faudra que les nouvelles données importées du jour (N) soient collées dans l’onglet de synthèse à partir de la ligne 31 etc… Je ne sais pas si je suis clair et encore moins si cela est possible…

    Etant novice sous VBA j’ai essayé de chercher de mon coté avant de vous importuner et j'ai pu trouver ça:

    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
    Public x As Integer
    Sub Extraction()
     
        Application.ScreenUpdating = False
        For x = 2 To Sheets.Count
        derlgn = F_MaDerligne("A")
            With Worksheets(x).Activate
                If Range("T1") < derlgn Then
                    derlgnsynthese = Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
                    Range(Cells(Range("T1") + 1, 1), Cells(derlgn, 19)).Copy Destination:=Worksheets(1).Cells(derlgnsynthese + 1, 1)
                    Range("T1") = derlgn
                End If
            End With
        Next x
     
        Worksheets(1).Select
        Application.ScreenUpdating = True
     
    End Sub
     
     
    Function F_MaDerligne(lalettre)
            F_MaDerligne = Worksheets(x).Cells(Rows.Count, lalettre).End(xlUp).Row
    End Function
    - le problème de ce code est que dans l’éventualité où des données sont déjà présente dans l'onglet de synthèse (avant la création de la macro) celles-ci sont écrasées...
    - dans le cas où je souhaiterai rajouter d'autres onglets (sans lien avec les données précédentes par exemple pour faire des stats etc...) je pense que cela pourrait poser un soucis car dans le code VBA le nom des feuilles n'est pas mentionnés du style Sheets("Personne 1").Select du coup je me dis que si je rajoute des onglets cela va copier les données des autres feuilles sans liens avec les précédentes.

    Je sais que mon post est un peu long j'ai essayé de donner le maximum d'infos peut être que si quelqu'un passe par là il ou elle pourra m'aider ^^ dans le cas contraire je continuerai de chercher,

    merci pour vos retour,

    PS: en piece jointe le fichier en question
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Le fichier partagé c'est pas une bonne idée, ça finit toujours avec des problèmes.
    Puisque tu utilises les macros et un onglet par utilisateur, il est préférable de créer autant de fichiers (non partagés)que d'utilisateurs
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

Discussions similaires

  1. Importer des données à partir d'un autre fichier excel
    Par fabien32200 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/04/2016, 10h37
  2. Importer données d'un autre onglet
    Par maximob dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/02/2015, 12h23
  3. Réponses: 4
    Dernier message: 12/02/2015, 23h48
  4. Réponses: 1
    Dernier message: 10/07/2014, 16h43
  5. [XL-2003] importer des données d'un autre onglet ou autre classeur
    Par chouki60 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2011, 10h53

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