Macro avec conditions à l'ouverture du fichier

chris6999

XLDnaute Impliqué
Bonjour

Je repose une question que j'ai déjà postée hier mais depuis j'ai fait de nouveaux tests et cela ne fonctionne toujours pas.

Il s'agit à l'ouverture du fichier de faire une vérification sur les éléments saisis dans la colonne N de la ligne 7 à 20000.
Si dans cette plage les cellules sont vides différentes de vide et égale à "Attente retour"
Alors
Si la date positionnée dans la colonne 14 (date limite de dépôt) est inférieure ou égale à la date du jour -10
(c'est à dire que la date limite de dépôt sera dépassée dans 10 jours)
alors positionne dans la colonne 15 "Trop tard"

J'ai rédigé la macro suivante en m'inspirant de la macro déjà présente dans mon fichier mais j'ai un erreur 424.
Je vais dailleurs par la suite l'intgrer à cette dernière.

Private Sub Workbook_Open()

Feuil1.Select
Dim PlageRetour As Range
For Each PlageRetour In Range("N7:N" & Range("N20000").End(xlUp).Row)
If Cells(cel.Row, 22) <> "" And Cells(cel.Row, 14).Value <= (Date - 10) Then Cells(cel.Row, 15).Value = "Trop tard"
Next PlageRetour


End Sub

Merci d'avance pour votre aide
Cordialement
 

Pièces jointes

Fred0o

XLDnaute Barbatruc
Re : Macro avec conditions à l'ouverture du fichier

Bonjour chris6999,

Pas sûr d'avoir tout compris, mais tu peux essayer ceci :
VB:
Private Sub Workbook_Open()
    Dim PlageRetour As Range
    Feuil1.Select
    For Each cel In Range("N7:N" & Range("N20000").End(xlUp).Row)
        If Cells(cel.Row, 21) <> "" And Cells(cel.Row, 14).Value <= (Date - 10) Then Cells(cel.Row, 15).Value = "Trop tard"
    Next cel
End Sub

A+
 

Papou-net

XLDnaute Barbatruc
Re : Macro avec conditions à l'ouverture du fichier

Bonjour chris6999, Fred0o,

Le problème vient de l'utilisation de variables différentes dans la boucle.

Modifier le code comme suit :

Code:
Private Sub Workbook_Open()
Feuil1.Select
        Dim Cel As Range
        For Each Cel In Range("N7:N" & Range("N20000").End(xlUp).Row)
        If Cells(cel.Row, 22) <> "" And Cells(cel.Row, 14).Value  <= (Date - 10) Then Cells(cel.Row, 15).Value = "Trop tard"
        Next Cel
End Sub
Cordialement.
 

Theze

XLDnaute Occasionnel
Re : Macro avec conditions à l'ouverture du fichier

Bonjour,

Regarde ce qui suit et adapte (commentaires dans le code) :
Code:
Private Sub Workbook_Open()

    Dim Plage As Range
    Dim Cel As Range
    
    'plage en colonne N
    With Worksheets("Base de données")
     
        Set Plage = .Range(.Cells(7, 14), .Cells(.Rows.Count, 14).End(xlUp))
    
    End With
    
    'parcour la plage
    For Each Cel In Plage
        
        'si la cellule de la colonne V n'est pas vide,
        'que la date de la cellule en cours est inférieure de 10 jours
        'alors, inscrit "Trop tard" en colonne O
        If Cel.Offset(0, 8) <> "" And Cel.Value <= (Date - 10) Then
        
            Cel.Offset(0, 1).Value = "Trop tard"
            
        End If
        
    Next Cel
                        
                       
End Sub

Hervé.
 

chris6999

XLDnaute Impliqué
Re : Macro avec conditions à l'ouverture du fichier

Merci à tous les 3 pour votre aide. Grâce à vos différentes propositions j'ai réussi à faire fonctionner ma macro.
Merci encore et bonne journée
Cordialement




Bonjour,

Regarde ce qui suit et adapte (commentaires dans le code) :
Code:
Private Sub Workbook_Open()

    Dim Plage As Range
    Dim Cel As Range
    
    'plage en colonne N
    With Worksheets("Base de données")
     
        Set Plage = .Range(.Cells(7, 14), .Cells(.Rows.Count, 14).End(xlUp))
    
    End With
    
    'parcour la plage
    For Each Cel In Plage
        
        'si la cellule de la colonne V n'est pas vide,
        'que la date de la cellule en cours est inférieure de 10 jours
        'alors, inscrit "Trop tard" en colonne O
        If Cel.Offset(0, 8) <> "" And Cel.Value <= (Date - 10) Then
        
            Cel.Offset(0, 1).Value = "Trop tard"
            
        End If
        
    Next Cel
                        
                       
End Sub

Hervé.
 

Discussions similaires

Réponses
20
Affichages
656
Réponses
25
Affichages
1 K
Réponses
8
Affichages
386

Statistiques des forums

Discussions
315 283
Messages
2 118 012
Membres
113 406
dernier inscrit
NI-ZE