Macro report de lignes automatiques

Bonjour,

Je ne suis parvenu à exploiter une macro d'un autre fichier.

Sur le fichier joint, j'aimerais lancer une macro, qui copie automatiquement à la suite, sur le feuillet du jour suivant, les lignes ou apparaissent les mentions "IMPORTANT" et "NON TRAITE" (que les autres cellules soient remplies ou non).

En vous remerciant par avance.

Marco

Bonjour

Un essai. Te convient-il ?

gmb a écrit :

Bonjour

Un essai. Te convient-il ?

Bonjour GMB,

Tu m'apportes un début de réponse.

La macro n'exporte que deux lignes. Il faudrait que les lignes s'ajoutent à la suite et soient reportées automatiquement d'un jour à l'autre, tant que l'option IMPORTANT ou TRAITE est apparente dans la ligne.

Curtis Newton a écrit :

La macro n'exporte que deux lignes.

En fait, la macro reporte dans la feuille ''02'' toute ligne de la feuille ''01'' sur laquelle tu as choisi en colonne i la valeur ''IMPORTANT'' ou ''NON TRAITE''

Cela me semblait intéressant pour ne pas avoir de doublon en feuille ''02''

Mais si tu veux traiter d'un coup toutes les lignes de la feuille ''01'', que doit-on faire des données déjà existantes sur la feuille ''02'' ?

Les supprimer ? Elles seront définitivement perdues.

Les garder ? On risque d'avoir des doublons si on lance la macro plusieurs fois de suite !

C'est toi qui voit.

Bye !

gmb a écrit :
Curtis Newton a écrit :

La macro n'exporte que deux lignes.

En fait, la macro reporte dans la feuille ''02'' toute ligne de la feuille ''01'' sur laquelle tu as choisi en colonne i la valeur ''IMPORTANT'' ou ''NON TRAITE''

Cela me semblait intéressant pour ne pas avoir de doublon en feuille ''02''

Mais si tu veux traiter d'un coup toutes les lignes de la feuille ''01'', que doit-on faire des données déjà existantes sur la feuille ''02'' ?

Les supprimer ? Elles seront définitivement perdues.

Les garder ? On risque d'avoir des doublons si on lance la macro plusieurs fois de suite !

C'est toi qui voit.

Bye !

J'ai vérifié.

Sur le feuillet 01, je créé plusieurs lignes importantes avec des données diverses mais la macro ne reporte que la dernière saisie.

Mon idée si tu les permets :

Le 01 mai, je porte la mention "important" ou "non traite", pour que le lendemain, mon successeur puisse prendre connaissance de ces lignes et continuer à travailler à la suite; Ensuite, il juge bon de les laisser en l'état pour que le jour d'après son successeur puisse les consultés, puisqu'elles auront été transférées automatiquement. Ensuite, si ce dernier, valide ces lignes en traités (menu déroulant), il n'y a pas de copie le jour d'après.

Merci pour ton aide.

Marco

gmb a écrit :
Curtis Newton a écrit :

La macro n'exporte que deux lignes.

En fait, la macro reporte dans la feuille ''02'' toute ligne de la feuille ''01'' sur laquelle tu as choisi en colonne i la valeur ''IMPORTANT'' ou ''NON TRAITE''

Cela me semblait intéressant pour ne pas avoir de doublon en feuille ''02''

Mais si tu veux traiter d'un coup toutes les lignes de la feuille ''01'', que doit-on faire des données déjà existantes sur la feuille ''02'' ?

Les supprimer ? Elles seront définitivement perdues.

Les garder ? On risque d'avoir des doublons si on lance la macro plusieurs fois de suite !

C'est toi qui voit.

Bye !

J'ai saisi la problématique que tu mettais en avant.

Je vais essayer d'être plus précis.

Un bouton macro serait judicieux. Installé sur chaque feuille journalière, il permettrait de reporter sur l'onglet suivant les lignes "IMPORTANT" et "NON TRAITE".

gmb a écrit :

Bonjour

Un essai. Te convient-il ?

J'y suis presque avec cette macro associée à un bouton :

Option Explicit

Public Sub Copier()

Dim Wss As Worksheet, Wsd As Worksheet

Application.ScreenUpdating = False

Set Wss = Worksheets("Modèle")

Set Wsd = Worksheets("01")

Wsd.Range("A10:J103").ClearContents

Wsd.Range("A10:J103").Value = Wss.Range("A10:J103").Value

Set Wss = Nothing: Set Wsd = Nothing

End Sub

Je ne sais pas comment insérer cette condition dans la formule ci-dessus :

If Target.Value = "IMPORTANT" Or Target.Value="NON TRAITE" Then

Merci

En préparant l’envoi de ma nouvelle proposition, j’ai lu ton dernier message et la macro qui y figure.

Tu ne veux donc plus partir de la feuille 02 et reporter les lignes sur la feuille 03 ?

C’est ce que j’ai fait :

Tu veux à partir d’une feuile, créer la feuille du lendemain en te servant de la feuille ‘’Modèle’’ et y reporter les lignes ‘IMPORTANT’’ et ‘’NON TRAITE’’ ?

C’est bien cela ?

gmb a écrit :

En préparant l’envoi de ma nouvelle proposition, j’ai lu ton dernier message et la macro qui y figure.

Tu ne veux donc plus partir de la feuille 02 et reporter les lignes sur la feuille 03 ?

C’est ce que j’ai fait :

Tu veux à partir d’une feuile, créer la feuille du lendemain en te servant de la feuille ‘’Modèle’’ et y reporter les lignes ‘IMPORTANT’’ et ‘’NON TRAITE’’ ?

C’est bien cela ?

GMB,

Tu as répondu à mes attentes, à un détail près.

Tu soulèves des questions que je ne me serais pas permis de te poser. Si cela est dans tes cordes, cela m'arrangerait énormément. J'utilise des détours pas possible pour arriver au même résultat.

Dans l'immédiat, ta macro sera parfaite, si elle pouvait prendre en compte la globalité du tableau en "A10:J103"; ainsi pas de souci si l'on utilise le bouton macro, deux fois suite, car actuellement elle copie autant de fois les mêmes lignes que l'on utilise la macro. J'ai un collaborateur qui en est encore à l'âge de pierre.

Mais, je suis preneur de ta première proposition de création de page avec report des données. J'avais déjà vu un projet similaire sur le forum.

Merci encore GMB.

gmb a écrit :

En préparant l’envoi de ma nouvelle proposition, j’ai lu ton dernier message et la macro qui y figure.

Tu ne veux donc plus partir de la feuille 02 et reporter les lignes sur la feuille 03 ?

C’est ce que j’ai fait :

Tu veux à partir d’une feuile, créer la feuille du lendemain en te servant de la feuille ‘’Modèle’’ et y reporter les lignes ‘IMPORTANT’’ et ‘’NON TRAITE’’ ?

C’est bien cela ?

GMB,

A force d’opiniâtreté et d'essais,

Voici une macro qui ne projette que l'ensemble de la plage contenant les éléments de ma recherche.

Sub copier()

Dim shSource As Worksheet, shDest As Worksheet, lig As Long

Set shSource = Worksheets("Modèle")

Set shDest = Worksheets("01")

' nettoyer destination

shDest.Rows("10:65536").ClearContents

' copier lignes

For lig = 10 To 103

If shSource.Cells(lig, "I") = "IMPORTANT" Or shSource.Cells(lig, "I") = "NON TRAITE" Then

shSource.Range("A" & lig & ":J" & lig).Copy Destination:=shDest.Cells(shDest.[A65536].End(xlUp).Row + 1, 1)

End If

Next lig

End Sub

C'est du bricolage, je ne sais pas si elle est correctement formulée mais elle fonctionne.

Dans l'attente de te lire.

Cordialement.

Curtis Newton a écrit :

C'est du bricolage, je ne sais pas si elle est correctement formulée mais elle fonctionne.

L'essentiel est le résultat.

Alors, Bravo !

Bye !

Rechercher des sujets similaires à "macro report lignes automatiques"