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 :

Copier-coller sur un autre fichier [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    employé
    Inscrit en
    Mars 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2019
    Messages : 29
    Par défaut Copier-coller sur un autre fichier
    Bonjour,

    Je reprends depuis le début, je pense que mettre juste les fichiers sans expliquer un peu mieux mon problème n'est pas très constructif :

    Donc mon premier souci est :

    J'ai un classeur général qui est représenté comme ceci :

    Nom : DAF.PNG
Affichages : 689
Taille : 18,9 Ko

    Lorsque je suis dans la première feuille et que dans la colonne D (contrôleur) je sélectionne des initiales, la ligne se coupe et colle automatiquement dans la feuille correspondant aux initiales du contrôleur présente dans le classeur.
    Cela se fait via le code suivant :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim LgnS As Range, TblC As Range, lnS%, lnC%, k%
        If Target.Count > 1 Or Target.Row < 2 Or Target.Column <> 4 And Target.Column <> 17 Then Exit Sub 'si la ligne est 1 on en tient pas compte, ni pour colonne 17 ou 4
     
        If Target.Value = "Cloturé" Then
            lnS = Target.Row - 1
            Set LgnS = Me.ListObjects(1).DataBodyRange.Rows(lnS)
            k = LgnS.Columns.Count
            With Worksheets("Dossiers classés").ListObjects(1)
                If .Range.Cells(2, 1) <> "" Then
                    Set TblC = .DataBodyRange: lnC = TblC.Rows.Count + 1
                Else
                    Set TblC = .Range.Rows(2): lnC = 1
                End If
            End With
            TblC.Cells(lnC, 1).Resize(, k).Value = LgnS.Value
            LgnS.EntireRow.Delete
     
          ElseIf Target.Value = "BDV" Then
            lnS = Target.Row - 1
            Set LgnS = Me.ListObjects(1).DataBodyRange.Rows(lnS)
            k = LgnS.Columns.Count
            With Worksheets("BDV").ListObjects(1)
                If .Range.Cells(2, 1) <> "" Then
                    Set TblC = .DataBodyRange: lnC = TblC.Rows.Count + 1
                Else
                    Set TblC = .Range.Rows(2): lnC = 1
                End If
            End With
            TblC.Cells(lnC, 1).Resize(, k).Value = LgnS.Value
            LgnS.EntireRow.Delete 
    'et les elseif s'enchainent avec chaque initiale
    ...
    Ce que je voudrais, c'est qu'en plus de se couper/coller, la ligne se copie également dans le fichier du contrôleur qui si situe dans un autre sous dossier et dans la feuille correspondante au nom du tableau général (ici DAF en l'occurence)

    Nom : AL.PNG
Affichages : 657
Taille : 18,7 Ko

    l'arborescence est celle-ci :

    Tableaux suivi
    - controle (qui reprend tous les fichiers individuels)
    - tableaux generaux (qui reprends deux ou trois tableaux génériques)


    j'avoue que je cale un peu sur la façon de procéder pour faire le copier/coller sur un autre classeur en plus du couper/coller sur le classeur initial. Je ne demande pas forcément une réponse toute faite, mais une piste ou une ébauche de solution sur la façon de procéder

    De plus il est possible que le tableau contrôle soit déjà ouvert par un autre utilisateur, ce qui me complique un peu plus la tâche je dois bien avouer :s


    Merci déjà pour le temps passé à lire,

  2. #2
    Membre averti
    Homme Profil pro
    employé
    Inscrit en
    Mars 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2019
    Messages : 29
    Par défaut
    Petite modification de la demande d'aide ^^

  3. #3
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonjour,

    C'est pas vraiment la meilleurs approche, car tu auras des soucis, comme tu peux l'imaginer si le fichier de l'utilisateur est en cours d'utilisation.

    Il y a possibilité en Excel de partage de classeur, pour du co-working, mais c'est assez casse pipe aussi, écrasement de données, passage en lecture seule lors de la sauvegarde,...

    Une manière de procéder serait de passer tes BD sur Access/Sql, et d'utiliser, par exemple, Power query pour les récupérer dans les différents fichier utilisateur.

    Il faudrait plus d'informations sur la finalité de ton outils que pour réellement pouvoir te diriger vers la "meilleur" solution.

    Bat

  4. #4
    Membre averti
    Homme Profil pro
    employé
    Inscrit en
    Mars 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2019
    Messages : 29
    Par défaut
    Bonjour,

    Merci pour la réponse déjà.

    En gros le classeur principal sert à l'encodage de divers dossiers à suivre par les employés, de ce fait, le classeur principal contient des feuilles avec les initiales de chaque employé. Comme je le disais, à l'heure actuelle, chaque employé copie-colle du coup les nouvelles lignes de sa feuille vers son classeur personnel. Le but final étant d'avoir un suivi des dossiers pour le responsable d'équipe ainsi que pour les employés. Par facilité, le responsable peut dire qu'il encode les dossiers tous les jours à telle heure et on sait qu'à cette heure là les employés ne doivent pas ouvrir leurs classeurs personnels.

    L'idée de passer via Access et des Power query pourquoi pas, mais j'avoue que je ne maitrise absolument pas les Power query, Access je peux créer une BD, des formulaires et faire les relations etc mais aller chercher les infos pour les mettre à jours ensuite dans les classeurs personnels je ne pense pas que j'y arriverai seul :s

    Edit : En y réfléchissant, est-il possible avec Power query de faire en sorte que ce qui se fait dans les classeurs individuels soit répercuté directement dans la BD Access ? dans le même ordre d'idée, peut-on imaginer que tout nouvel encodage avec les initiales d'un employé dans la BD se retrouve sur une feuille particulière dans le classeur individuel ?

  5. #5
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Hello,

    Pour ce qui est des interactions access excel, le "tutoriel de référence" que tu pourrais trouver sur ce site est

    https://excel.developpez.com/actu/27...re-Fauconnier/

    Cependant, vu qu'il ne s'agit, apparemment, que d'un archivage, si je comprend bien, tu pourrais splitter ta bd excel vers les différents fichiers utilisateurs tout les matins, et récupérer tout les soir via Excel pour synthèse aussi si telle est ton souhait.

    Du type

    Le soir à x heure, import du tout les fichiers dans une feuille excel
    Redeploiement de nouveaux fichiers avec les infos utiles maj pour chaque user,...

    Ou via Excel, et Access (cfr tuto propose) à voir un bd à jour en temps réelle que chaque utilisateur pourrait utiliser à sa guise, tant en modification que consultation.

  6. #6
    Membre averti
    Homme Profil pro
    employé
    Inscrit en
    Mars 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2019
    Messages : 29
    Par défaut
    Bonjour,

    Merci pour la réponse, je vais m'atteler à lire ces 4 billets

    En fait il ne s'agit pas que d'un archivage, le fait d'avoir les lignes dans le classeurs des employés leurs permet de traiter les demandes suivant le contenu des lignes pour ensuite éventuellement archiver le tout (mais donc ici il s'agit plutôt de faire du suivi de dossiers)

    Je suis occupé à lire le tutoriel suivant : https://laurent-ott.developpez.com/t...el-vba-tome-1/ mais j'avoue que je m'y perds un peu par moment ^^

    Je vais donc essayer de créer un code qui fasse du simple copier-coller de ligne d'un classeur à un autre lorsque la condition est qu'on sélectionne une des initiales d'employés dans la colonne D. J'espère arriver à quelque chose de probant.

    Si j'ai un souci je reviendrai vers vous.

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

Discussions similaires

  1. Copier onglet sur un autre fichier excel
    Par dimitri70 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 27/09/2013, 16h42
  2. Boucle copier/coller sur tous les fichiers d'un dossier
    Par santadrix dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/10/2012, 10h58
  3. copier/coller sur un autre feuille
    Par huître dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 11/05/2011, 10h10
  4. Recherche et copier/coller sur une autre feuille
    Par AzelRoth dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2009, 10h21
  5. Syntaxe Copier/coller vers un autre fichier dans VBA.
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/01/2009, 10h49

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