Appliquer macro à colonne entière

Bonjour à tous,

Une fois encore j’ai besoin de vos lumières,

(Je ne pourrai pas envoyer de fichier car les données sont sensibles, et le réseau ordinateur bridé. Et impossible de sortir le fichier de mon lieu de travail)

Malgré tout, ma demande est sûrement toute bête :

Dans mon fichier, une colonne ( Y ) est dédiée à des dates butées pour effectuer des interventions de maintenance.

J’ai créée la macro ci-dessous pour me programmer une alerte à l’ouverture du fichier si l’une des dates dans cette colonne arrive à échéance.

Private Sub workbook_open ()

Dim T_date

T_date = Date

If T_date >= Range (« Y5 »). Value Then

MsgBox « attention, visite prévue »

End if

End sub

Mon problème c’est d’étendre ça à la colonne Y complété à la place de seulement Y5.

Pour info : les dates sont toutes différentes et dans la colonne, certaines cellules sont vides car sans date butée précise.

PS: le test sur la cellule Y5 fonctionne parfaitement, mais dès que j’essaye de modifier pour la colonne Y complète, j’ai que des messages d’erreur au lancement du classeur.

Merci d’avance

Bonjour,

je comprends ce que tu veux faire mais en même-temps pas !

je ne sais pas combien de valeurs il y aura sous Y5 (sans importance pour la macro) mais comment comptes-tu faire pour trouver visuellement cette ou ces valeurs >= Date après la MsgBox ?

ne serait-il pas plus simple, visuellement, d'appliquer une MFC ?

Y5 n’est qu’une seule date (propre à une activité).

J’ai une date par Y (Y2=date activité ligne 2)

Jusqu’à Y650.

Après l’alerte je n’ai qu’à filtrer par date, le truc c’est que souvent j’oublie ^^’ donc je voulais me mettre une alerte à l’ouverture du fichier que je regarde tous les matins pour envoyer mes gars en visite quand visite il y a

Bonjour tout le monde !

Une proposition de macro :

Private Sub workbook_open ()

Dim Lig As Long, Visite As Boolean, ListeLignes As String

With Sheets("NomFeuille") 'Nom à adapter
    For Lig = 2 To .Range("Y" & Rows.Count).End(xlUp) 'Boucle sur les lignes (de la 2ème à la dernière complétée)
        If Not IsEmpty(.Range("Y" & Lig)) And .Range("Y" & Lig) > Date And .Range("Y" & Lig) <= Date + 7 Then 
        'Date + 7 à adapter (ici on avertit les échéances dans les 7 jours à venir)
            Visite = True 'Au moins une visite à réaliser
            If ListeLignes = "" Then ListeLignes = Lig Else ListeLignes = ListeLignes & vbCrLf & Lig
        End If
    Next Lig
    If Visite Then MsgBox "Attention, visite(s) prévue(s). Voir ligne(s) :" & vbCrLf & ListeLignes
End With

End sub

Bonjour,

J’ai tenté un copier coller en modifiant la date et le nom de feuille mais ça ne fonctionne pas.

Qu'est-ce qui ne fonctionne pas ? Où ? Sur quelle ligne de code ?

« Erreur de compilation:

Sub, Function ou Property attendue » à la réouverture du classeur

La première ligne « private sub workbook_open() »

Se surligne en jaune

Il faudrait une copie d'écran de l'éditeur VBA et le code où ça plante

Rechercher des sujets similaires à "appliquer macro colonne entiere"