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 :

Transfert de données d'une ligne d'un fichier vers une colonne d'un autre fichier [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 68
    Points : 47
    Points
    47
    Par défaut Transfert de données d'une ligne d'un fichier vers une colonne d'un autre fichier
    Bonjour à toutes et à tous,

    J'ai posé un sujet il y a quelques temps. J'ai reçu de l'aide de votre part et je vous en remercie vivement, mais je coince toujours. Je n'avais pas de code à vous proposer, mais aujourd'hui, j'ai quelque peu avancé. Je peux donc vous le soumettre. J’avais mis les fichiers en PJ mais je comprends que cela puisse poser problème.
    L'objectif est de transférer des données (en lignes) d'un fichier, compris entre 2 dates vers une colonne d'un autre fichier:
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Private Sub GenererPlanning_Jour_Click()
     'J'ouvre un userform et je renseigne la date de début et la date de fin pour récupérer toutes les données entre ces 2 dates  
        Application.ScreenUpdating = False
        Set Fdép = ActiveSheet
        Dte1 = DateValue(Right(TextBox1, 10))
        Dte2 = DateValue(Right(TextBox2, 10))
        If Dte2 < Dte1 Then
            MsgBox "     Mauvaise saisie !" & Chr(13) & "     La date de fin doit être postérieure à celle de début ! ", 16
            Exit Sub
        End If
        LnNom = ComboBox1.ListIndex + 11
        NbreMois = Month(Dte2) - Month(Dte1)
        If NbreMois < 0 Then NbreMois = NbreMois + 13
        NomMois = Array("JANVIER", "FéVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOÛT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DéCEMBRE")
     
        Chemin = ThisWorkbook.Path & "\"
        If TextBox1 = "" Or TextBox2 = "" Then
            MsgBox "     Vous devez saisir une date de début et une date de " & Chr(13) & "     fin de remplacement.", 16
            Exit Sub
        End If
     
        'On ouvre le planning du remplaçant (le fichier dans lequel je veux copier les données en colonne)
        Application.DisplayAlerts = False
        'Workbooks.Open Filename:=Chemin & "MATRICE PLANNING JOUR PREVISIONNEL INDIVIDUEL.xlsm"
        Workbooks.Open Filename:="O:\Cecile BALANDRAUD\MATRICES\MATRICE PLANNING_FL\FL Melting1.xlsm"
        Set DocDest = ActiveWorkbook
        ActiveSheet.Name = NomMois(Month(Dte1) - 1)
        'Range("A1").Value = Fdép.Cells(LnNom + 1, 2).Value
        'Range("A2").Value = "qui remplace " & ComboBox1
     
     
        'On affiche le mois de début de remplacement dans ce fichier qui s'est ouvert
        Fdép.Range("Z2").Value = NomMois(Month(Dte1) - 1)
        Fdép.Range("AC2").Value = Year(Dte1)
        DocDest.Sheets(NomMois(Month(Dte1) - 1)).Range("O10").Value = NomMois(Month(Dte1) - 1)
        '''''''''''
        DocDest.Sheets(NomMois(Month(Dte1) - 1)).Range("O8").Value = Year(Dte1)
     
        ' Dernière colonne du mois
       For i = 3 To 34
        If Fdép.Cells(9, i).Value = "" Then
        Exit For
        End If
       Next i
       DerCol = i - 1
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        'On copie les jours de remplacement dans le planning du remplaçant; c'est là que ça coince
        For Col = 3 To DerCol
        For Lign = 21 To 51
      If Fdép.Cells(9, Col).Value >= Dte1 And Fdép.Cells(9, Col).Value <= Dte2 Then
        'If DocDest.Sheets(NomMois(Month(Dte1) - 1)).Cells(Lign, 1).Value >= Dte1 And DocDest.Sheets(NomMois(Month(Dte1) - 1)).Cells(Lign, 1).Value <= Dte2 Then
        Fdép.Cells(LnNom, Col).Copy
        DocDest.Sheets(NomMois(Month(Dte1) - 1)).Cells(Lign, 3).PasteSpecial xlPasteAll, Operation:=xlNone, SkipBlanks:= _
     False, Transpose:=True 'selection un collage special => transposé permet de passer de ligne en colonne
     Application.CutCopyMode = False
     
        End If
        Next Lign
        Next Col
     
        Unload Me
     
    ''''''''''''''''''''''''''''''''''''''''''
     
    End Sub
    Merci de votre aide éventuelle.
    Cordialement,

    Averell

  2. #2
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    Et ton code ici ne marche pas c'est ça ?

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour !

    En clair, sans décodeur :

    Citation Envoyé par Averell1976 Voir le message
    L'objectif est de transférer des données (en lignes) d'un fichier, compris entre 2 dates vers une colonne d'un autre fichier

    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  4. #4
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 68
    Points : 47
    Points
    47
    Par défaut Transfert de données d'une ligne d'un fichier vers une colonne d'un autre fichier
    C'est tout à fait cela Marc-L. Mais j'ai trouvé la solution il y a 30 min.
    Merci à vous pour votre réponse

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

Discussions similaires

  1. [XL-2010] Transfert de lignes de plusieurs feuilles vers une
    Par fedora9!!! dans le forum Conception
    Réponses: 2
    Dernier message: 06/01/2012, 23h01
  2. [ZF 1.11] Plusieurs lignes de table SQL dans une ligne de tableau de données
    Par CinePhil dans le forum Zend Framework
    Réponses: 1
    Dernier message: 21/02/2011, 16h14
  3. Réponses: 2
    Dernier message: 12/07/2010, 12h28
  4. [E-03] Transfert de données et de lignes
    Par avyrex dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 29/12/2008, 10h59
  5. Réponses: 9
    Dernier message: 04/12/2005, 18h57

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