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 entre 2 fichiers avec code VBA [XL-2007]


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
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Par défaut Copier coller entre 2 fichiers avec code VBA
    Bonjour,

    Je remercie par avance les personnes qui pourront m'apporter leur aide.

    Ma problématique est la suivante ;

    J'ai 2 fichiers : Fichier 1 (nommé "Fiche validation") et Fichier 2 ("Tableau de suivi").
    Le fichier 1 est complété, pour chaque cas étudié, par les collaborateurs qui le renseignent puis les données sont transférées dans le fichier 2 (via une macro qui fonctionne bien) qui recense l'ensemble de des fiches validation. Ce fichier 2 permet de faire le suivi de l'ensemble des fiches validations.
    Dans la foulée, le responsable reprend ces fiches validations, saisit son "OK" (cellule M8) et une date de validation (M9). Je précise qu'il y a un matricule unique (correspondant à un numéro de compte client) sur chaque fiche validation.

    Ma problématique est la suivante :
    Lorsque le responsable reprend la fiche validation pour y intégrer son "OK" et sa date de validation, je souhaiterai qu'une macro vienne copier et coller le "OK" et la date dans le fichier de suivi sur la ligne correspond au matricule de ma fiche validation dans la colonne M pour le "OK" et la colonne "N" pour la date.
    tableau de suivi.xlsmFiche validation.xlsm
    J'espère avoir été clair. Je bloque complétement sachant que je ne suis pas, non plus, un spécialiste du VBA.
    Merci pour votre aide.

    Cédric

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 418
    Par défaut
    Bonjour,

    Une façon de faire est de mettre le code au sein de la feuille "Synthese" pour réagir sur l'événement "Change" (changement d'une cellule).
    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
    Option Explicit
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim kR As Long, nMat As Variant, wShSuivi As Worksheet
        Dim wbFV As Workbook, wShFV As Worksheet, ok As Boolean
        If Target.Count > 1 Then Exit Sub
        If Target.Value = "" Then Exit Sub
        If Target.Column < 13 Or Target.Column > 15 Then Exit Sub
        If Target.Row < 7 Then Exit Sub
        kR = Target.Row
        If Cells(kR, 13).Value = "" Or Cells(kR, 14).Value = "" Or Cells(kR, 15).Value = "" Then Exit Sub
        nMat = Cells(kR, 2).Value                                   '--- n° matricule
        Set wShSuivi = ActiveSheet
        Application.ScreenUpdating = False
        Workbooks.Open ThisWorkbook.Path & "\Fiche validation.xlsm"
        ok = False
        For Each wShFV In Worksheets
            If wShFV.Range("E7").Value = nMat Then
                ok = True
                wShFV.Range("M8") = wShSuivi.Cells(kR, 13).Value    '--- responsable
                wShFV.Range("M9") = wShSuivi.Cells(kR, 14).Value    '--- date
                wShFV.Range("N9") = wShSuivi.Cells(kR, 15).Value    '--- résultat
                wShFV.Activate
                wShFV.Range("N9").Select
                Exit For
            End If
        Next wShFV
        ActiveWorkbook.Close True   '--- ferme en sauvant
        Set wShSuivi = Nothing
        Application.ScreenUpdating = True
        If ok = False Then MsgBox "Matricule " & nMat & " non trouvé!", , "Pour info"
    End Sub
    Cordialement.
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Par défaut Retour
    Bonjour Eric,

    Je te remercie pour ton retour sur lequel j'ai retravaillé d'où ma réponse ce jour. J'ai suivi ton idée de faire de mon "tableau de suivi" (Fichier "SSynthese tableau de suivi.xlsm")mon fichier source qui m'aidera ensuite à alimenter ma fiche validation (Fichier FFiche validation SRA). J'aurai juste souhaité faire un peu plus simple suite à tes remarques, ce à quoi je n'avais pas pensé au départ.

    Au final, et pour faire plus simple, je souhaite partir sur l'idée suivante mais je bloque toujours sur la macro.

    Si j'insère la mention "OK" dans la colonne "O" (par exemple "O8") dans mon fichier "SSynthese tableau de suivi.xlsm", ma valeur de la colonne B (soit "B8") va être copiée et collée automatiquement dans mon autre fichier (FFiche validation SRA.xlsm) sur la cellule "E7".
    Ma valeur de la colonne C (soit "C8") va être copiée et collée dans mon fichier "FFiche validation SRA.xlsm") sur la cellule "E8". Et ainsi de suite pour toute la ligne.

    Cela doit me permettre ensuite d'enregistrer ma fiche validation en format pdf avec un nom de fichier spécifique (je sais faire la macro pour ce point).

    Peut-être pourras-tu m'aider en espérant avoir été assez clair dans mes explications,

    Bonne journée

    FFiche validation SRA.xlsmSSynthese tableau de suivi.xlsm

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 418
    Par défaut
    Bonjour,

    Si je comprends bien, la feuille Synthèse est remplie au fur et à mesure ... et quand on entre OK dans la colonne O, Résultat du contrôle, on remplit la feuille fiche_analyse laquelle est ensuite enregistrée sous forme de pdf.

    Question 1: il faut créer une fiche_analyse différente pour chaque OK ou on n'utilise qu'une seule fiche_analyse (données antérieures effacées pour être remplacées par celles du dernier OK)?

    Question 2: est-il indispensable d'avoir 2 fichiers différents?

    Cordialement.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Par défaut Réponse
    Bonjour,

    Effectivement la feuille synthèse est remplie au fur et à mesure. Ensuite, lorsque le responsable veut faire le point, il se réfère à ce tableau de suivi et, aprés avoir réalisé ses contrôles, doit mentionner "OK" dans la colonne "O" après chaque dossier contrôlé. Mon souhait est que, après chaque "OK", les valeurs de la ligne viennent s'intégrer dans la Fiche Validation et déclenche ensuite un enregistrement en pdf pour être complet (En fait, c'est pour garantir que les données sont figées et qu'elles n'ont pas été modifiées. Je dois conserver les preuves).

    Donc par rapport à ta question 1 : On peut utiliser qu'une seule fiche_analyse (données antérieures effacées pour être remplacées par celles du dernier OK). Je n'ai pas besoin d'une conservation des fiches validation en format xlsm.

    Question 2 : Oui, il me faut 2 fichiers différents ("Synthese Tableau de suivi" et "Fiche Validation")pour des raisons d'habilitations.

    Merci d'avance,

    Bien cordialement

    Cédric

  6. #6
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 418
    Par défaut
    Bonjour,

    En attaché, une possibilité, à adapter.
    Je ne vois pas en quoi l'habilitation joue dans cette affaire vu que les fiches-analyse ne sont pas conservées mais immédiatement sorties en pdf.
    J'ai modifié la zone d'impression de cette fiche_analyse pour ne pas avoir de grisé imprimé.

    Cordialement.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2010] Copier coller entre 2 feuiles avec un décalage
    Par Atdd91 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/05/2018, 18h07
  2. VBA : Copier / Coller entre 2 fichiers excel
    Par JPW_Orange dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/12/2016, 09h17
  3. Boucle copier coller entre 2 fichiers pour chaque ligne
    Par cheerleaders dans le forum Excel
    Réponses: 3
    Dernier message: 19/05/2015, 18h09
  4. Copier / Coller entre 2 fichiers excel
    Par roberto75 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/03/2011, 12h25
  5. Copier coller entre deux fichiers excel par macro
    Par miss-o-21 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2009, 14h45

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