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

Résolu/Fermé
Ippo - 16 déc. 2014 à 15:10
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 - 19 déc. 2014 à 17:23
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.

A voir également:

21 réponses

Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
16 déc. 2014 à 22:48
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
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
17 déc. 2014 à 14:43
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
17 déc. 2014 à 15:10
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
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
17 déc. 2014 à 15:43
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
17 déc. 2014 à 15:29
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
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
Modifié par Le Pingou le 17/12/2014 à 16:09
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
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
17 déc. 2014 à 16:35
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
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
Modifié par Le Pingou le 17/12/2014 à 16:52
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
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
18 déc. 2014 à 09:07
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
Bonjour,

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

Bonne journée,
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
18 déc. 2014 à 11:02
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
SABHARZALI Messages postés 21 Date d'inscription mercredi 17 décembre 2014 Statut Membre Dernière intervention 28 janvier 2016
19 déc. 2014 à 14:25
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449 > SABHARZALI Messages postés 21 Date d'inscription mercredi 17 décembre 2014 Statut Membre Dernière intervention 28 janvier 2016
19 déc. 2014 à 15:55
Bonjour,
Dommage ce manque de politesse, se sera sans suite.
Salutations.
Le Pingou
0
SABHARZALI Messages postés 21 Date d'inscription mercredi 17 décembre 2014 Statut Membre Dernière intervention 28 janvier 2016 > Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024
19 déc. 2014 à 16:44
y a pas de mal.j espère que rien de grave pour ne pas pouvoir me répondre.
0
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
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
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
18 déc. 2014 à 22:15
Bonjour,
Merci, content pour vous.

0