Base de données - Report de lignes sous conditions

Bonjour,

Sur le fichier joint, j'ai crée un service journalier sur le mois.

Pourriez-vous m'aider à constituer une base de données en me permettant de reporter les lignes 13 à 106 de chaque onglet, et de les reporter à la suite dans la feuille base de données, sans pouvoir autoriser les doublons.

Chaque jour, un bouton report des dossier à traiter (associer à une macro) permet de reporter les lignes signalées, "important" ou non "traité".

Si j'appuie à nouveau sur le bouton de report, les lignes sont à nouveau copiées, peut-on empêcher cela?

Lors des reports, les lignes "IMPORTANT et "NON TRAITE" sont inscrites à la suite, si un évènement est déja inscrit le jour suivant. Est-il possible d'inscrire ces lignes en premier?

Je vous remercie par avance.

Salut Curtis Newton !

Voici un petit code !

EDIT : OUPS ! ERREUR DE SUJET !

Erreur d'aiguillage de la réponse.

Ah oui en effet pardon !

Salut Curtis,

"Si j'appuie à nouveau sur le bouton de report, les lignes sont à nouveau copiées, peut-on empêcher cela?"

Empêcher les doublons me parait compliqué si chaque dossier n'a pas un numéro unique (ce qu'on appelle un ID en Bases de données).

Car ici si j'ai bien compris tu peux avoir 10 lignes "appel" sans qu'il ne s'agisse du même évènement ?

en revanche ce que tu peux faire c'est par exemple mettre un "1" en cellule A1 quand tu cliques sur le bouton report, comme ça quand tu recliques dessus, la macro vérifie si la cellule A1 est vide, et si elle ne l'est pas, elle lance par exemple un pop up disant "le report a déjà été effectué" mais ça, ça implique que tu n'effectues pas le report plusieurs fois dans la journée.

En substance, tu as bien saisi.

Aucune ligne, dans son intégralité, ne ressemblera à une autre.

Pour ce qui s'agit de créer une base de données, je vais essayer d'adapter le code que tu m'a concocté pour un autre fichier, et le modifier pour fonctionner avec plusieurs onglets.

Gaz0line a écrit :

Salut Curtis,

"Si j'appuie à nouveau sur le bouton de report, les lignes sont à nouveau copiées, peut-on empêcher cela?"

Empêcher les doublons me parait compliqué si chaque dossier n'a pas un numéro unique (ce qu'on appelle un ID en Bases de données).

Car ici si j'ai bien compris tu peux avoir deux 10 lignes "appel" sans qu'il ne s'agisse du même évènement ?

en revanche ce que tu peux faire c'est par exemple mettre un "1" en cellule A1 quand tu cliques sur le bouton report, comme ça quand tu recliques dessus, la macro vérifie si la cellule A1 est vide, et si elle ne l'est pas, elle lance par exemple un pop up disant "le report a déjà été effectué" mais ça, ça implique que tu n'effectues pas le report plusieurs fois dans la journée.

Salut Curtis !

Franchement j'ai essayé de solutionner tes demandes mais je n'arrive à rien

bonjour à vous

la gestion de données se fait sur une seule feuille, et non une par jour

toute en colonnes simples (date, heure, action, urgence, responsable, terminé etc.)

ensuite tu fais des filtres et des tris, et aussi des TCD et des graphiques si tu en as besoin

pas de VBA (sauf si vraiment tu veux des filtres auto, sur la colonne "urgent" et "terminé" par exemple)

Bonjour,

ça vaut ce que ça vaut mais tu peux ajouter un "flag" qui dit que c'est copié ...

Il y a peut être mieux

Sub transfertfeuille()

Dim n As Byte, lig As Long

n = ActiveSheet.Index 'défini le numéro de la feuille active

For lig = 13 To Sheets(n).Range("B" & Rows.Count).End(xlUp).Row 'de la ligne 10 à la dernière ligne rempli de la feulle active

If Sheets(n).Cells(lig, "F") = "x" Then

MsgBox ("déjà copié !")

Else

If Sheets(n).Cells(lig, "E") = "IMPORTANT" Or Sheets(n).Cells(lig, "E") = "NON TRAITE" Then

Sheets(n).Range("B" & lig & ":E" & lig).Copy Destination:=Sheets(n + 1).Cells(Sheets(n + 1).[B65536].End(xlUp).Row + 1, 2)

Sheets(n).Cells(lig, "F") = "x"

End If

End If

Next lig

End Sub

Rechercher des sujets similaires à "base donnees report lignes conditions"