VBA - Sélection multiple avec condition

Bonjour à tous,

Contexte:

A l'ouverture d'un fichier je souhaite tester avec une macro, si dans la "Table_Calendrier" la date <= la plus proche d'aujourd'hui et dont la condition ouvert = "oui" égale au Max de la "Table_Date".

Problème:

Si le Max de la "Table_Date" est inférieur alors je souhaite sélectionner les valeurs comprises entre les deux dates et les ajouter à la "Table_Date".

Question:

Avec VBA, comment faire une sélection multiple des dates dont la condition ouvert="oui" et qui sont comprises entre les deux dates décrites précédemment?

J'imagine qu'on pourrait faire une boucle afin d'ajouter chaque élément suivant le max de la "Table_Date" jusqu'à ce que la date soit égale à la date de la "Table_Calendrier" la plus proche <= à aujourd'hui avec la condition ouvert="oui".

Étant novice avec les boucles du style "do until" j'aurai besoin de votre aide.

Ci-joint un fichier d'exemple.

D'avance merci pour vos contributions

Cordialement

22pdm.xlsx (11.91 Ko)

Bonjour,

Private Sub Workbook_Open()
Dim Cel As Range, MaxTable As Range
Dim i As Long
    i = 1
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")
        Set MaxTable = .Range("D" & .Range("D" & Rows.Count).End(xlUp).Row)
        For Each Cel In .Range("A3:A" & .Range("A" & Rows.Count).End(xlUp).Row)
            If Cel > MaxTable And Cel <= Date And Cel.Offset(0, 1) = "oui" Then
                Cel.Copy MaxTable.Offset(i, 0)
                MaxTable.Offset(i, 0).Interior.ColorIndex = 40
                i = i + 1
            End If
        Next Cel
    End With
End Sub

A+

44pdm.xlsm (23.38 Ko)

Bonjour frangy,

C'est parfait, merci est bon dimanche.

Cordialement

Rechercher des sujets similaires à "vba selection multiple condition"