Demande aide sous excel

Fermé
olivierB - 9 juil. 2013 à 13:56
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 9 juil. 2013 à 15:30
Bonjour,


Je bloque sur un cas sous excel.
A partir d'un fichier excel , j'aimerais copier sur un second fichier toutes les lignes dont la colonne date est entre le 01/07/2013 et le 31/07/2013 par exemple.
Mon second fichier est vide, et j'aimerais l'alimenter avec ces lignes seulement.

Je n'y arrive pas.
Comment je peux faire ?

Merci d'avance pour toute réponse qui pourrait m'aider à avancer ,
A voir également:

3 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 juil. 2013 à 14:21
Bonjour,

de ton tableau tu fais un filtre personnalisé :
- 1ère condition : si excel 2010 : postérieur ou égal 01/07/2103 (pouexcel antérieur, tu dois avoir supérieur ou égal)

- 2ème condition : si excel 2010 : antérieur ou égal 31/07/2103 (pouexcel antérieur, tu dois avoir inférieur ou égal)

tu valides
Tu copies tes lignes, tu les colles et c'est fait.
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 juil. 2013 à 14:37
coucou,

si tu veux une macro, voici ce que je te conseille.
Tu prends deux cellules et tu mets date de ébut : 01/07/2013
date de fin : 31/07/2013 (les cellules ne doivent contenir que les dates.

En macro ca donne :

Sub copiejuillet()
a=activeworkbook.name
i = 1 'commence à la ligne 1
j=2

Do While Cells(i, 1) <> "" 'tournera jusqu'à ce que la cellule de la ligne i et de la colonne 1 ne sera pas vide

If Cells(i, 1) >= Cells(2, 10) Then 'si la cellule de la ligne i et de la colonne 1 est supérieure à la cellule de la ligne 2 colonne 10 autrement dit cellule qui contient 1/07/2013

If Cells(i, 1) <= Cells(3, 10) Then ''si la cellule de la ligne i et de la colonne 1 est inférieure à la cellule de la ligne 3 colonne 10 autrement dit cellule qui contient 31/07/2013 alors

rows(i).copy
workbook("fichierdestiné").activate '
cells(j,1).select
activesheet.paste
workbook(a).activate
j=j+1
End If
End If

i = i + 1
Loop

end sub
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
9 juil. 2013 à 15:30
Bonjour,

Environ combien de lignes as tu dans le classeur source ?

Pourrais tu mettre en pièce jointe un extrait de ce classeur source ?

pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse

D'avance merci
0