Copier d un planning mensuel

aminelyamani Messages postés 6 Date d'inscription dimanche 15 octobre 2006 Statut Membre Dernière intervention 22 février 2011 - 18 janv. 2011 à 00:54
userrrqi115 Messages postés 181 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 4 février 2011 - 18 janv. 2011 à 10:38
Bonjour ;
Toujours avec mes aventures en VBA je suis entrain de chercher un programme pour récupérer à partir d’un planning la liste des taches à effectuer chaque jour.
Je mexplique :
En ligne « 2 » de B2 à Z2 j’ai des dates 1/1/2011-2/1/2011 ….etc
Et en colonne « A » de A3 à A20 j’ai la liste des taches à réaliser.
Dans le tableau j ai des « x » C'est-à-dire la tache tel à réaliser dans la date tel .
Je cherche un moyen (VBA ou formule) qui copie que les taches cochée dans une date précise , et les colle dans une autre feuille
C'est-à-dire, je remplie la date souhaité et j’ai la liste automatique des taches à réaliser durant cette journée.
J’espère que je me suis bien exprimé.
Je vous remercie infiniment pour votre patience.
Cdlt
Aminetek

1 réponse

userrrqi115 Messages postés 181 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 4 février 2011
18 janv. 2011 à 10:38
Hello,

Dans l'exemple ci-dessous, le planning mensuelle est situé dans la Feuil1 et la date pour laquelle les tâche doivent être rappatriées doit être saisie, dans la feuil2, cellule B1.
La liste des tâches apparaitra dans la feuil 2 à partir de la cellule A3

Sub GetTaskList()
Madate = Sheets(2).Cells(1, 2).Value 'date recherchée saisie en B1

lastrow = Sheets(2).Cells(65536, 1).End(xlUp).Row 'il faut effacer l'ancienne liste
If lastrow > 2 Then
Range(Sheets(2).Cells(3, 1), Cells(lastrow, 1)).ClearContents
End If

c = Sheets(1).Cells.Find(What:=Madate, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Column ' récupére la colonne de la date

r = 3 'r sera la 1ère ligne dans la feuil2  accueillant les tâches
For Each cell In Range(Sheets(1).Cells(3, c), Sheets(1).Cells(20, c))
If cell.Value "x" Or cell.Value "X" Then
Sheets(2).Cells(r, 1).Value = Sheets(1).Cells(cell.Row, 1).Value
r = r + 1
End If
Next cell
End Sub

BR

USERRRQI115
Simple user
Great brain
0
Rejoignez-nous