Macro en fonction de la date ?

bonjour voici ma macro. Alors mon soucis c'est que si je change la date sur la feuille 1 (colonne 6), la macro m'efface la précédente. Comment faire en sorte que si je change cette date, elle puisse apparaître en dessous des autres ? merci

https://www.excel-pratique.com/~files/doc2/CwsZPDates.xls

Bonjour,

Peux-tu expliquer le but de ta macro. Recopier des lignes de la feuille 1 evrs la feuille 2 ?

Autre chose, ta macro SUB doit être placée dans un module et non dans la feuille comme tu l'as fait.

A te relire

Amicalement

Dan

Nad-Dan a écrit :

Bonjour,

Peux-tu expliquer le but de ta macro. Recopier des lignes de la feuille 1 evrs la feuille 2 ?

Autre chose, ta macro SUB doit être placée dans un module et non dans la feuille comme tu l'as fait.

A te relire

Amicalement

Dan

Le but est bien de recopier les valeur de la feuille 1 vers la feuille 2, sachant que la feuille 1 correspondra à un tableau mis à jour chaque jours de la semaine. Et donc je voudrais que cette macro recopie les dates les unes derrières les autres sur la feuille 2.

En ce qui concerne le SUB, je modifierais ça, merci pour ton aide.

re,

essaie avec ce code qui recopiera ce qu'il y a dans ta feuille 1 vers la feuille 2 et ce, en dessous des données existantes.

Sub recopie()
'Macro Dan pour DJ FA le 05/10/2009
' http://www.excel-pratique.com/forum/viewtopic.php?t=13455
Dim lig As Integer
lig = Sheets("Feuil2").Range("A65536").End(xlUp).Row + 1
Sheets("Feuil1").UsedRange.Copy Sheets("Feuil2").Range("A" & lig)
End Sub

Amicalement

Dan

2winniper.xlsx (17.70 Ko)

Je test ce soir, merci chef.

2winniper2.xlsx (18.08 Ko)

Alors ce n'est pas ce que je souhaite, ta macro recopie toutes les lignes, moi en clair je veux une mise à jour en se basant sur une date. Je vais détailler ici :

Voici mes données :

A B C D 04/10

Z E T Y 04/10

E D T O 04/10

Voilà le 04/10 j'obtiens ces données, et quand j'active ma macro il me reste.

A B C D 04/10
E D T O 04/10

Que les lignes avec un "D" du 04/10

Le lendemain j'ai ces données :

A D C P 05/10

L Q T L 05/10

E S T O 05/10

et quand j'active ma macro il me reste.

A B C D 04/10
E D T O 04/10
A D C P 05/10

La macro a ajouté la ligne comportant un "D" mais avec une autre date.

Merci pour ton aide.

re,

Merci des explications. En fait je m'aperçois que le code trouvé en feuille 2 peut être amendé. Cependant il recopie les lignes comportant une lettre "D" en colonne 4 sans tenir compte de la date.

En lisant tes dernières explications, pourrais-tu me confirmer:

  • Si la lettre "D" est toujours en colonne 4 (pas sûr à la vue de ton exemple)
  • Le critère de recopie est toujours la datou la lettre D ou les deux ?

A te relire

Dan

Nad-Dan a écrit :

En lisant tes dernières explications, pourrais-tu me confirmer:

- Si la lettre "D" est toujours en colonne 4 (pas sûr à la vue de ton exemple)

La lettre D sera toujours en colonne 4.

- Le critère de recopie est toujours la date ou la lettre D ou les deux ?

Les deux.

Merci

re,

Essaie avec ce code :

Sub selectionner_des_lettres_dans_colonne_C()
Dim i As Long, j As Long, n As Long
Dim oList
Dim lig As Integer
oList = Array("D") ' Liste des lettres à sélectionner.
j = Sheets("Feuil2").Range("A65536").End(xlUp).Row + 1
   For n = 0 To UBound(oList)
      For i = 1 To Sheets("feuil1").Range("A65536").End(xlUp).Row
        If Sheets("feuil1").Cells(i, 4).Value = oList(n) Then
        Sheets("Feuil2").Range(Sheets("Feuil2").Cells(j, 1), Sheets("Feuil2").Cells(j, 6)).Value = _
               Sheets("Feuil1").Range(Sheets("Feuil1").Cells(i, 1), Sheets("Feuil1").Cells(i, 6)).Value
        j = j + 1
        End If
      Next i
   Next n
End Sub

J'ai supposé que si lettre D en colonne 4, la date sera aussi changée.

Amicalement

Dan

J'essaye merci. 8)

Alors il y a un petit soucis. La macro fonctionne elle ajoute bien un date différente en dessous de celle déjà copiées, mais le soucis c'est que les premières dates sont encore recopiées une deuxièmes fois.

re,

c'est que les premières dates sont encore recopiées une deuxièmes fois

Pas compris. vérifie que la macro dans ta feuille est supprimée et d'associer ton bouton à la macro que je t'ai donnée.

A te relire

Dan

Hélas cela ne fonctionne pas.

Ouvre le fichier que j'ai posté en première page puis clique sur le bouton auquel tu auras associé ta macro, (déjà il copie à partir de la ligne 2 ça va pas) ensuite rajoute une ligne sur la feuille 1 (ligne 5) en mettant (29/09) puis clique de nouveau sur le bouton et là en feuille 2, ta macro recopie encore ce qui vient d'être recopié. Moi je veux juste le 29/09 en desous du reste suite au premier clik. Désolé je suis débutant.

re,

oui exact mais juste une précision, dans ton exemple tu dis que le lendemain tu as de nouvelles données dans ta feuille 1. Est-ce que cela veut dire que ces nouvelles données dans ta feuille 1 sont ajoutées à celles du jour précédent ?

Dans le code, j'ai supposé que ta feuille 1 était réinitialisée chaque jour par de nouvelles données.

Merci de ta précision

A te relire

Dan

Nad-Dan a écrit :

re,

oui exact mais juste une précision, dans ton exemple tu dis que le lendemain tu as de nouvelles données dans ta feuille 1. Est-ce que cela veut dire que ces nouvelles données dans ta feuille 1 sont ajoutées à celles du jour précédent ?

Dans le code, j'ai supposé que ta feuille 1 était réinitialisée chaque jour par de nouvelles données.

Merci de ta précision

A te relire

Dan

Sur la feuille 1 les données sont remises à 0 chaque jours de la semaine (avec une date différente) , c'est juste dans la feuille 2 que j'ai besoin de rajouter ces nouvelles données à celle de la veille.

Re,

Lorsque je lis tes deux interventions ci-après, cela me semble contraire.

D'un coté tu me dis rajouter une ligne

rajoute une ligne sur la feuille 1 (ligne 5) en mettant (29/09)

et de l'autre que les données sont remises à 0 chaque jour.

Sur la feuille 1 les données sont remises à 0 chaque jours de la semaine (avec une date différente) , c'est juste dans la feuille 2 que j'ai besoin de rajouter ces nouvelles données à celle de la veille.

D'où ma question dans le fil précédent :

Est-ce que cela veut dire que ces nouvelles données dans ta feuille 1 sont ajoutées à celles du jour précédent ?

Dans le code, j'ai supposé que ta feuille 1 était réinitialisée chaque jour par de nouvelles données.?

J'ai bien compris ce que tu veux faire. Le code fonctionne si toutes les données en feuille 1 sont effacées au profit de nouvelles. Si par contre toujours en feuille 1, les nouvelles données sont rajoutées en dessous des anciennes et / ou que tes anciennes sont conservées et modifiées. Le code doit être adapté et plus complexe. Dans tous les cas, le critère de mise en feuille 2 est toujours la lettre D en colonne 4.

A te relire

Dan

Je vais faire un test avec mon fichier fini, et je t'en reparle dans 10jours. Mais l'incompréhension vient de moi, désolé. Je te tiens au courant et merci pour ta patience.

Sub selectionner_des_lettres_dans_colonne_C()
Dim i As Long, j As Long, n As Long
Dim oList
Dim lig As Integer
oList = Array("D") ' Liste des lettres à sélectionner.
j = Sheets("l3_2").Range("A65536").End(xlUp).Row + 1
   For n = 0 To LBound(oList)
      For i = 1 To Sheets("passage").Range("A65536").End(xlUp).Row
        If Sheets("passage").Cells(i, 6).Value = oList(n) Then
        Sheets("13_2").Range(Sheets("l3_2").Cells(j, 1), Sheets("13_2").Cells(j, 10)).Value = _
               Sheets("passage").Range(Sheets("passage").Cells(i, 1), Sheets("passage").Cells(i, 10)).Value
        j = j + 1
        End If
      Next i
   Next n
End Sub

Avec cette fonction j'ai une erreur qui dit, "Indice en dehors de la plage (erreur 9)

". Il me parle de Dim Redim ???? Quelle est la solution ? merci

Apparemment ça serait le nom des feuilles qui ne vas pas.

re,

Apparemment ça serait le nom des feuilles qui ne vas pas.

Il faudrait revoir ton fichier avec le nom des feuilles mais le code que tu as posté semble bon à l'exception de UBOUND qui est devenu LBOUND.

Etant débutant, vomment as tu trouvé cela et pourquoi l'as-tu changé ???

A te relire

Dan

Rechercher des sujets similaires à "macro fonction date"