Macro avec conditions à l'ouverture du fichier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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+
 
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.
 
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é.
 
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é.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
203
Réponses
8
Affichages
471
Réponses
20
Affichages
833
Réponses
4
Affichages
180
Réponses
25
Affichages
613
Retour