VBA , effectué une action si une date est dans une plage

Bonjour à tous,

Je fais face à un pb et j'aurais besoin de votre aide. j'ai chercher sur le forum mais je n'ai rien trouvé

j'ai une variable qui s'appelle dateLu en format jj/mm/aaaa hh:mm. J'aimerai comparer cette date à une sorte de calendrier prédéfinis par moi même dans la plage pl7 et si nous avons une correspondance entre dateLu et l'une des date présente dans pl7 alors j'éffectue une action.

J'ai commencer à coder ceci mais j'ai l'impression de ne pas partir dans la bonne direction :

Dim pl7 As Range
Dim dateLu As Date

Set pl7 = Range("W29:W30")

 If Application.Intersect(Format(dateLu, "ddddd"), pl7) Is Nothing Then
            Else
                Cells(Target.Row + 1, 10).Value = Format(dateLu + 1, "dd/mm/yy") & " 18:00"
                    Cells(Target.Row + 1, 11).Value = "DEM"
                    Cells(Target.Row + 1, 14).Value = 1
          End If

Dans ma plage pl7 les dates sont en format "jj/mm/aaaa"

A chaque éxécution je me retrouve avec une erreur "objet requis " et je bloque vraiment . ceci n'est qu'un extrait . Tout le reste de la macro fonctionne parfaitement.

Merci d'avance

Salut et bienvenue sur le Forum,

Ma réponse va surement te surprendre, mais je vais te raconter une histoire que les membres du Forum connaissent presque par cœur : une fois j’ai été chez mon garagiste et je lui ai montré une grosse mappe de présentation dans laquelle j’avais inséré de nombreux documents ; les uns expliquant à quoi ressemblait ma voiture, les autres indiquant avec beaucoup de détails pourquoi mon véhicule n’avançait plus. Mon garagiste, un peu taquin, m’a alors dit : pourquoi ne m’apporteriez-vous pas plutôt votre véhicule ?

Dans le même état d’esprit, peut-on voir ton fichier contenant ta macro ?

Cordialement.

Bonjour,

C'est sure que cela serait plus simple éffectivement.

Je met à votre disposition un fichier exemple. En gros j'aimerai que lorsque la date en sortie est égale à une des date dans le calendrier de la colonne W Alors la date d'entré de la ligne d'en dessous = date de sortie +1 tant que ce n'est pas un jour travaillés.

Dim pl7 As Range
Dim dateLu As Date

Set pl7 = Range("W29:W30")

 If Application.Intersect(Format(dateLu, "ddddd"), pl7) Is Nothing Then
            Else
                Cells(Target.Row + 1, 10).Value = Format(dateLu + 1, "dd/mm/yy") & " 18:00"
                    Cells(Target.Row + 1, 11).Value = "DEM"
                    Cells(Target.Row + 1, 14).Value = 1
          End If

Ceci est le debut de code que j'ai fait mais qui n'est pas dans ma macro

10exemple.xlsm (54.00 Ko)

Salut,

whazz a écrit :

A chaque éxécution je me retrouve avec une erreur "objet requis " et je bloque vraiment. ceci n'est qu'un extrait . Tout le reste de la macro fonctionne parfaitement.

Tes explications sont plus que ténébreuses. Si ta macro bloque à un certain point, fournis-la-moi et je pourrais éventuellement voir pourquoi elle bloque.

D’un autre côté je ne vois encore pas du tout comment fonctionne ton fichier et ce que tu attends d’améliorer.

whazz a écrit :

En gros j'aimerai que lorsque la date en sortie est égale à une des date dans le calendrier de la colonne W Alors la date d'entré de la ligne d'en dessous = date de sortie +1 tant que ce n'est pas un jour travaillés.

Que veux-tu dire par là ? S’il te plait, utilise les références Excel dans ta réponse (de quelle ligne parles-tu ? de quelle colonne ? de quelle cellule ? de quelle plage ?).

Tu dis : ‘’J’aimerai que lorsque la date en sortie .....’’. Mais comment vient s’inscrire cette date en sortie ? Est-ce toi qui la saisi ? Dans quelle cellule ? Par l’intermédiaire d’une formule ? Par l’intermédiaire d’une macro ?

Tu rajoutes : ‘’ Alors la date d'entré de la ligne d'en dessous’’. Aïe, on en est où ? Tu parles de quelle cellule par rapport à quelle autre cellule ?

Lorsque tu dis : ‘’ tant que ce n'est pas un jour travaillés’’, es-tu certain que tu ne voulais pas plutôt dire : ‘’ tant que ce n'est pas un jour férié’’ ?

Pour l’instant, je ne peux absolument pas avancer à t’aider. Merci de me fournir plus de renseignements et plus précis.

Amicalement.

Rechercher des sujets similaires à "vba effectue action date plage"