Vérification d'une range Feuille 1 par rapport à une range Feuille 2

Bonjour à tous,

pourriez vous m'aidez à comprendre comment traduire ce bout de code correctement pour que la MACRO l'exécute à chaque fois.

L'idée : chaque semaines une extraction est faite du lundi 00:00 au dimanche 23:59 de la semaine précédente. Avant que mon code ce lance, je souhaite que la MACRO fasse une vérification de la date Min de l'extraction sur la date Max de mon historique sur la feuille TDB et si la date Min est égale à la date Max alors le MsgBox pop.

Sub vérification() Dim Extraction As Worksheet Dim TDB As Worksheet Dim cellule As Range For Each cellule In Extraction.Range("AN3:AN" & Extraction.Range("AN" & Rows.Count).End(xlUp).Row) For Each cellule In TDB.Range("A2:A" & TDB.Range("A" & Rows.Count).End(xlUp).Row) If Extraction cellule.MinValue = TDB cellule.MaxValue Then MsgBox("Attention ! risque de doublons, vérifiez les limites de l'extraction.", vbCritical, "ERREUR") End If End Sub

Ou peut être comme ça ?

Sub vérification() Dim earliest As Date, latest As Date earliest = Worksheets("Extraction").Function.Min(Range("AN3:AN" & Extraction.Range("AN" & Rows.Count).End(xlUp).Row)) latest = Worksheets("TDB").Function.Max(Range("A2:A" & TDB.Range("A" & Rows.Count).End(xlUp).Row)) If earliest = latest Then MsgBox "Attention ! risque de doublons, vérifiez les limites de l'extraction." End If End Sub

Avec un fichier même appauvri cela serait mieux

où se trouve la date dans le fichier historique et ou se trouve la date dans le fichier TDB ( cellules)

Dites moi se que vous entendez par EXTRACTION

Est ce une fois par semaine la prise des données de la semaine précédente dans une base?

La vérification devrait se faire :

à l'ouverture du fichier,

Sur lancement de la macro par l'action de l'utilisateur

merci

Le fichier est trop volumineux même après compression

1 Workbook

2 Worksheets :

"Extraction" pour accueillir l'extraction brut d'un WMS, l'extraction est supprimé à la fin de l’exécution de la MACRO

"TDB" un tableau qui regroupe les données de l'extraction, ce tableau sert d'historique sur l'année et de base de donnée pour un futur TCD.

Sur la feuille Extraction la range de cellules est en colonne 40 "AN" à partir de la ligne 3, nombre de ligne variable à chaque extraction environs 40 à 50.000 .

Sur la feuille TDB la range à vérifier est en colonne "A"

Oui l'extraction devrait être faites une fois par semaine mais si jamais il fallait en faire une seconde dans la semaine, cette vérification permettrait d’écarter le risque de doublons de valeur.

12vba-test-copie.xlsm (34.47 Ko)

Le fichier est presque vide maintenant mais le voilà, je ne comprend pas comment coder :

Si la date Min de la colonne AN de la feuille Extraction est supérieur ou égale à la date Max de la colonne A de la feuille TDB alors

MsgBox "Attention..."

Merci à ceux qui prendrons le temps de m'aider.

cdlt Thomas

Rechercher des sujets similaires à "verification range feuille rapport"