XL 2016 Transfère de données vers un autre fichier en VBA

  • Initiateur de la discussion Initiateur de la discussion mmaatthh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mmaatthh

XLDnaute Nouveau
Bonjour le forum,

Je me tourne vers vous pour une partie de mon projet qui est au-delà de mon niveau VBA. J’ai donc besoin d’un peu d’aide pour le squelette et je pense que je pourrais greffer un peu de viande autour des os par la suite.

J’ai deux fichiers, le premier se nomme Calculateur et génère un horaire présentant le numéro d’employé et son quart de travail à une date donnée. Ce fichier est une zone de travail pour générer les horaires de travail.

Le second fichier se nomme Données dans lequel il y a une feuille nommée menu (elle n’est pas utile pour cette partie du projet) et une feuille pour chaque employé. Ces feuilles ont le même nom que le numéro d’employé que l’on retrouve dans le fichier Calculateur et contienne toutes les dates d’une année dans la colonne A.

Voici ce que je tente de faire :

Lorsque le travail dans le fichier Calculateur est fait, un bouton lance une macro qui ouvrirait le fichier Données et, pour chaque employé, sélectionnerait la feuille correspondante et y copierait le quart de travail à la bonne date.

Merci Beaucoup,
 

Pièces jointes

Bonjour le forum,

Je me tourne vers vous pour une partie de mon projet qui est au-delà de mon niveau VBA. J’ai donc besoin d’un peu d’aide pour le squelette et je pense que je pourrais greffer un peu de viande autour des os par la suite.

J’ai deux fichiers, le premier se nomme Calculateur et génère un horaire présentant le numéro d’employé et son quart de travail à une date donnée. Ce fichier est une zone de travail pour générer les horaires de travail.

Le second fichier se nomme Données dans lequel il y a une feuille nommée menu (elle n’est pas utile pour cette partie du projet) et une feuille pour chaque employé. Ces feuilles ont le même nom que le numéro d’employé que l’on retrouve dans le fichier Calculateur et contienne toutes les dates d’une année dans la colonne A.

Voici ce que je tente de faire :

Lorsque le travail dans le fichier Calculateur est fait, un bouton lance une macro qui ouvrirait le fichier Données et, pour chaque employé, sélectionnerait la feuille correspondante et y copierait le quart de travail à la bonne date.

Merci Beaucoup,
Bonjour,
Une proposition en PJ avec ce code
Dans l'exemple
-Les dates commencent en C3, et les données à copier en ligne 5
-Les deux classeurs sont dans le même répertoire.
-Les feuilles id_Employé "1-45-3-24 ..... " existent dans le classeur "Données.xlsx"
VB:
Sub transfert()
    Dim c As Range, d, Col&
    Application.ScreenUpdating = False
    Workbooks.Open Filename:=ThisWorkbook.Path & "\Données.xlsx"
    With ThisWorkbook
    With .Sheets("Feuil1")
        d = .[c3]: Col = Application.CountA(.Rows(3))
        For Each c In .Range("b5:b" & .Cells(.Rows.Count, "b").End(xlUp).Row)
            With Workbooks("Données.xlsx")
                With .Sheets(CStr(c))
                    c.Offset(, 1).Resize(, Col).Copy
                    .Cells(Application.Match(CLng(CDate(d)), .[a:a], 0), 2).PasteSpecial , Transpose:=True
                End With
            End With
        Next
        End With
    End With
    Application.CutCopyMode = False
    Workbooks("Données.xlsx").Close True
End Sub
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour