Importer des lignes d'un classeur vers un autre sous condition

Résolu
Ippo -  
Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai beau chercher je ne trouve pas mon bonheur donc je tente ma chance. J'ai plusieurs plan d'action sur différent classeur et je voudrais pour importer sur un autre classeurs excel les lignes de mes classeurs ou une date est en approche (de 7 jours) ou dépassé.

Ex : j'ai un classeur nommé plan d'action 1 avec 20 lignes. Les lignes 7-8-9-10 on eu date dépassant celle d'aujourd'hui.

Sur un classeur nommé récap, je voudrais pour les copier (via une macro).

Merci de me dire si cela est possible.

21 réponses

  • 1
  • 2
  1. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    C'est tout à fait possible.
    Le code à adapté
    Sub copieversautreclas()
    Set autrecla = Workbooks("NomAutreClasseur.xlsx")
    Rows("7:10").Copy Destination:=autrecla.Sheets("Feuil1").Range("A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1)
    End Sub

    0
  2. Ippo
     
    Bonjour et merci pour ta réponse,

    J'ai cherché hier et je suis tombé sur un code qui fait exactement ce que je voudrais. Mlaheuresement quand j'essaye de l'adapter il y a une erreur d'éxécution code 9. Pourtant mon fichier se nomme bien rapatrimentaction. Avez-vous une idée d'ou cela peut venir ?

    Merci

    code :

    Sub a()

    Dim Référence As String, Fichier_traité As String, Feuille_traitée As String, DerLigFeuille_traitée As Integer, DerLigA_rapatrimentaction As Integer, DerLigN_rapatrimentaction As Integer
    Dim i As Integer, j As Integer, k As Integer, Date_limite As Date
    Dim a As String, b As Date, c As String, d As String, e As Currency

    Application.ScreenUpdating = False
    Call Effacer

    Date_limite = Range("A1")
    DerLigN_rapatrimentaction = ActiveSheet.Range("N" & Rows.Count).End(xlUp).Row

    For i = 3 To DerLigN_rapatrimentaction

    Référence = Range("N2")
    Fichier_traité = Range("N" & i).Value

    Workbooks.Open Filename:="\Branches\DACH535\FACILITY\Sécurité\Plan D'action Villeparisis\" & Référence & Fichier_traité 'CHEMIN YVOUILLE
    '''Workbooks.Open Filename:="C:\ .............. & Référence 'CHEMIN AURELIEN

    For j = 1 To Sheets.Count
    Sheets(j).Activate
    Feuille_traitée = Sheets(j).Name
    DerLigFeuille_traitée = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
    For k = 10 To DerLigFeuille_traitée
    Range("A" & k).Select
    If ActiveCell.Offset(0, 1) < Date_limite And ActiveCell.Offset(0, 7) <= 0 Then
    a = ActiveCell.Offset(0, 0)
    b = ActiveCell.Offset(0, 1)
    c = ActiveCell.Offset(0, 2)
    d = ActiveCell.Offset(0, 3)
    e = ActiveCell.Offset(0, 6)

    Windows("rapatrimentaction.xls").Activate DerLigA_rapatrimentaction = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
    Range("A" & DerLigA_rapatrimentaction + 1) = Fichier_traité
    Range("B" & DerLigA_rapatrimentaction + 1) = Feuille_traitée
    Range("C" & DerLigA_rapatrimentaction + 1) = a
    Range("D" & DerLigA_rapatrimentaction + 1) = b
    Range("E" & DerLigA_rapatrimentaction + 1) = c
    Range("F" & DerLigA_rapatrimentaction + 1) = d
    Range("G" & DerLigA_rapatrimentaction + 1) = e
    Windows(Référence & Fichier_traité & ".xls").Activate

    End If
    Next

    Next

    ActiveWorkbook.Close SaveChanges:=False

    Next

    ActiveWindow.SmallScroll Down:=-10000
    Range("A1").Select
    End Sub
    0
  3. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    Sans détaillé votre code, cela m'étonne qu'il réalise ce que vous avez demandez au départ.... Soit copier les lignes choisies du classeur en cours vers un autre classeur!

    Concernant l'erreur, sans savoir sur quelle ligne de code l'erreur s'est produite, je n'ai aucune chance de vous en dire plus.

    0
  4. Ippo
     
    Pardon je n'avais pas précisé, c'est la ligne qui est en gras
    (Windows("rapatrimentaction.xls").Activate)

    L'arreur affiché est : erreur d'éxécution code 9

    Pour l'instant il ne copie rien car j'ai l'erreur, ce qui a fonctionné c'est les fichiers ou ce code était mis.

    L'avantage du code c'est que la copie ce ait sans ouvrir le classeur.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    Merci de préciser le nom du classeur de travail (celui ou vous copier les lignes) et le nom de celui ou vous coller ces lignes... !

    Note : pour ceci : L'avantage du code c'est que la copie ce ait sans ouvrir le classeur.
    Ce n'est pas possible avec le code que vous présentez et de plus il y a une instruction [Workbooks.Open Filename:="\Branches\DACH535\FACILITY............] qui justement ouvre un classeur

    0
  7. Ippo
     
    Il est vrai que lorsque j'active la macro le fichier s'ouvre mais pas avec le code originel. Dispo ici : http://forum.excel-pratique.com/excel/recherche-donnees-dans-plusieurs-classeurs-et-onglets-t21464-10.html

    Je cherche à copier les donnée d'un fichier nommé (2014_Plan d'action HSE Villeparisis) vers le classeur rapatrimentaction.xls

    Merci pour votre aide.
    0
    1. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
       
      Bonjour,
      Merci pour l'information.
      Cependant encore une fois, votre code (idem au code du lien de votre message), ne réalise en aucun cas ce que vous avez demandez au départ.... Soit copier les lignes classeur en cours vers un autre classeur!
      Salutations.
      Le Pingou
      0
  8. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    J'ai oublié une partie de ma réponse :
    (Windows("rapatrimentaction.xls").Activate)
    Si le nom du classeur est correct c'est une chose, mais il n'est pas possible d'activer un classeur qui n'est pas ouvert... !

    0
  9. Ippo
     
    Ah j'ai mal formulé ma question au temps pour moi. L'objectif est de copier certaine ligne de fichier excel designés vers un autre.

    A therme même si j'ai plusieurs macro je voudrais copier plusieurs ligne de plusieurs classeur vers un classeur unique.

    Cela est il faisable ?
    0
  10. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    Oui tout à fait.
    Mais pas avec le code présenté ..... certainement pas adapté à vos besoins qui eux ne sont pas précisées ou que partiellement.
    Quelle est le critère de ligne ou partie de ligne qui sont à copier et ensuite ou les insérer dans le classeur [rapatrimentaction.xls] .... !
    Probablement une procédure suffit voir 2 ... !

    Ou se trouve votre macro principale...?

    Salutations.
    Le Pingou
    0
  11. Ippo
     
    J'aimerai une macro qui va me chercher dans le classeur base (http://cjoint.com/?DLrquVnBQxO) toute les ligne ou il y a une date inférieure à la date d'aujourd'hui et me les copies sur le classeur récup (http://cjoint.com/?DLrqxjkAZJ0).

    Si il le faut je peux préciser une colonne ou aller vérifier la date car elle ne bougera pas. Si possible j'aimerais éviter de devoir ouvir le classeur base pour faire la copie.

    Merci pour le temps passé
    0
  12. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    Merci et bonjour....
    Donc la procédure (macro) dans le classeur [recup] Oui / Non
    Les 2 classeurs sont dans le même répertoire Oui / non
    La colonne de choix/référence est la [D] ou la [G] ?
    Les données sont toujours dans la feuille [Sheet1] du classeur [Base] oui / non
    Dès réception des réponses je vous prépare une proposition.

    0
  13. Ippo
     
    Bonjour,

    Donc la procédure (macro) dans le classeur [recup] Oui
    Les 2 classeurs sont dans le même répertoire non
    La colonne de choix/référence est la [D]
    Les données sont toujours dans la feuille [Sheet1] du classeur [Base] oui

    Je pourrais dupliquer la manipulation sur d'autre classeurs par la suite ?

    Merci
    0
  14. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    Si possible j'aimerais éviter de devoir ouvir le classeur base pour faire la copie
    Quelle en est la raison ... ?

    Les 2 classeurs sont dans le même répertoire non
    D'accord, mais dans ce cas il faut impérativement savoir ou se trouve le classeur....?

    Je pourrais dupliquer la manipulation sur d'autre classeurs par la suite ?
    Pourquoi......
    Salutations.
    Le Pingou
    0
  15. Ippo
     
    Bonjour,

    Si possible j'aimerais éviter de devoir ouvir le classeur base pour faire la copie
    Quelle en est la raison ... ? Le but est d'avoir un synthèse assez rapide des actions en retard si j'ouvre le fichier je n'ai qu'a regarder dessus.

    Les 2 classeurs sont dans le même répertoire non
    D'accord, mais dans ce cas il faut impérativement savoir ou se trouve le classeur....?
    Oui c'est possible, il ne changera pas de répertoire.

    Je pourrais dupliquer la manipulation sur d'autre classeurs par la suite ?
    Pourquoi......
    J'aimerai dupliquer la copie d'autre fichier une fois celui la fini toujours sur mon classeur récup.

    Merci,
    0
  16. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    Je vois à l'instant votre information.
    Cependant j'ai déjà mis en place la proposition suivante :
    Un classeur de commande qui permet de saisir les diverses références puis filtre les données à copier dans le classeur de base et ensuite créer un classeur avec le nom référencé plus un numéro incrémenté qui est enregistré dans le répertoire choisi. Donc pas de duplication nécessaire.... !
    Je dois finaliser le tout, ayant d'autres priorités, se sera pour la fin de journée,

    0
  17. Ippo
     
    Bonjour,

    Pas de problème, c'est deja tres gentil à vous de répondre à ma problématique.

    Bonne journée,
    0
  18. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    J'ai un peu d'avance, voici la proposition à essayer selon indication sur la feuille du classeur [Ippo_ccm_CmdeRecup]....
    La proposition : https://www.cjoint.com/?3LsljfIBnjt

    0
    1. SABHARZALI Messages postés 21 Statut Membre
       
      vraiment c'est gentil de votre part. de donner de l'aide et c'est la raison pour laquelle je m'adresse à vous pour m'aider si ça vous dérange pas . j'ai à peu pret le meme projet mais la seule difference c'est que mon travail est dans le meme classeur et que le récap sera dans une nouvelle feuille de calcul du meme classeur .enfait je suis en train de faire le suivi de payement de nos clients et donc j'ai des reglements qui arrivent à leurs échéance et ne sont pas encore versé et je souhaite avoir un récap qui me permet d'avoir un visuel sur le nom du client, n° de facture et le montant non encaissé si la date d'échéance< date aujourd'hui et l'état de la facture est " en cours/pas encaissé" https://www.cjoint.com/?DLtoFTKJXp3 m6 pour votre collaboration d'avance et bonne continuation surtout
      0
      1. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481 > SABHARZALI Messages postés 21 Statut Membre
         
        Bonjour,
        Dommage ce manque de politesse, se sera sans suite.
        Salutations.
        Le Pingou
        0
      2. SABHARZALI Messages postés 21 Statut Membre > Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention  
         
        y a pas de mal.j espère que rien de grave pour ne pas pouvoir me répondre.
        0
  19. Ippo
     
    Bonjour,

    Chapeau bas c'est impressionant. Le code marche à merveille. Merci.

    Lorsque je lance la macro j'ai bien un nouveau fichier qui se crée, est il possible que la copie se fasse plutôt sur le feuil "RecupDuJour" du fichier Ippo_ccm_CmdeRecup ?

    Merci beaucoup pour ce travail.
    0
  20. Ippo
     
    Bonjour,

    C'est bon j'ai supprimé quelque ligne du code est ça marche. Encore un très grand merci à vous pour votre aide qui m'a été très précieuse.

    Bonne journée et à bientôt.
    0
  21. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    Merci, content pour vous.

    0
  • 1
  • 2