A voir également:
- VBE - Variable dans une autre
- Vba range avec variable ✓ - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Range avec une Variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
14 réponses
donc
cette macro marque" retard" si tu marque 24/7/9 dans la colonne A (on est le 22/7 aujourdhui)
si tu marques 24/07/2009 02:00:00 col A le basculement se fera à 14heures cet aprèm ( il est env. 12:30 h chez moi quand j'écris ce post
Cordialement, Michel
cette macro marque" retard" si tu marque 24/7/9 dans la colonne A (on est le 22/7 aujourdhui)
si tu marques 24/07/2009 02:00:00 col A le basculement se fera à 14heures cet aprèm ( il est env. 12:30 h chez moi quand j'écris ce post
Sub TEST1() Dim lig As Long Dim datesur36 As Single datesur36 = 36 For lig = 1 To [A65536].End(xlUp).Row If Cells(lig, 1) - Now > datesur36 / 24 Then 'Colonne A Cells(lig, 15).Value = "en retard" 'Colonne O End If Next lig End Sub Sub test2() test = Cells(1, 1) - Now MsgBox test en espèrant que... End Sub
Cordialement, Michel
bonjour,
Est-ce nécessaire de passer par une macro ? Une simple formule suffit :
=SI(((A1-AUJOURDHUI())*24)<=36;"en retard";"ok")
cdt
Est-ce nécessaire de passer par une macro ? Une simple formule suffit :
=SI(((A1-AUJOURDHUI())*24)<=36;"en retard";"ok")
cdt
Le problème c'est que j'ai atteint le maximum de mise en forme conditionnelle, donc je dois faire une macro !
là j'ai pas tout compris :s
tu parles de format ("mise en forme conditionnelle") mais dans ta demande précédente il est question de la valeur (="en retard") d'une cellule....peux-tu préciser stp ?
tu parles de format ("mise en forme conditionnelle") mais dans ta demande précédente il est question de la valeur (="en retard") d'une cellule....peux-tu préciser stp ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Formule ou mise en forme conditionnelle je pensais que c'était la meme chose ?
dans tous les cas, jai une colonne A dans laquelle il y a des dates(date livraison), une variable temps (& time, ou datejour = now), un objet (datesur36=36) et une colonne L qui présente le résultat.
Exemple , j'entre une date dans A35, si ma date est supèrieur à 36h, "en retard" est inscrit dans la colonne L35 sinon "ok".
J'avais donc penser à faire le code ci-dessous mais le problème c que jai besoin que ma macro soit appliqué sur tte la colonne A et L, donc dans datelivraison = Cells(Lig, 1).Value (valeur de toutes les cellules de la 1ere colonne, soit A). mais lig n'est décléré qu'après !
Simplement : Si date de livraison - date du jour > 36h alors valeur de la cellule de la colonne L= "en retard" sinon "ok".
J'ai déjà 3 mises en forme conditionnelle, je ne peux pas en faire plus.
Merci !
dans tous les cas, jai une colonne A dans laquelle il y a des dates(date livraison), une variable temps (& time, ou datejour = now), un objet (datesur36=36) et une colonne L qui présente le résultat.
Exemple , j'entre une date dans A35, si ma date est supèrieur à 36h, "en retard" est inscrit dans la colonne L35 sinon "ok".
J'avais donc penser à faire le code ci-dessous mais le problème c que jai besoin que ma macro soit appliqué sur tte la colonne A et L, donc dans datelivraison = Cells(Lig, 1).Value (valeur de toutes les cellules de la 1ere colonne, soit A). mais lig n'est décléré qu'après !
Simplement : Si date de livraison - date du jour > 36h alors valeur de la cellule de la colonne L= "en retard" sinon "ok".
J'ai déjà 3 mises en forme conditionnelle, je ne peux pas en faire plus.
Merci !
bonjour
pour la date du jour emploie plutôt date que now (tu n'as pas besoin de l'heure ?)
pourquoi voulais tu marquer "" si la condition n'est pas remplie? tu as automatiquement une cellule vide
mais c'est vrai qu'une formule en colonne O ferait tout aussi bien l'affaire
For Lig = 1 To [A65536].End(xlUp).Row If Cells(Lig, 1)- DateJour> DateSur36 'Colonne A Cells(Lig, 15).Value = "en retard" 'Colonne O end if Next Lig
pour la date du jour emploie plutôt date que now (tu n'as pas besoin de l'heure ?)
pourquoi voulais tu marquer "" si la condition n'est pas remplie? tu as automatiquement une cellule vide
mais c'est vrai qu'une formule en colonne O ferait tout aussi bien l'affaire
merci pour le code michel_m !
par contre j'ai un message d'erreur : incompatibilité de type.
Je ne vois pas d'ou ca peut venir ?
Private Sub TEST1() Dim datejour As Date Dim datesure36 As Date datesur36 = 36 datejour = Now For Lig = 1 To [A65536].End(xlUp).Row If Cells(Lig, 1) - datejour > datesur36 Then 'Colonne A Cells(Lig, 15).Value = "en retard" 'Colonne O End If Next Lig End Sub
par contre j'ai un message d'erreur : incompatibilité de type.
Je ne vois pas d'ou ca peut venir ?
Il me renvoi une valeur ! -123,5517, ca vien d'ou? lorsque j'entre la date 22/07/2009 00:00 dans la colonne A.
Un autre doliprane michel_m ?
Le code est bien plus simple lorsqu'on applique une macro du type à une seule cellule !
merci d'avance
Un autre doliprane michel_m ?
Le code est bien plus simple lorsqu'on applique une macro du type à une seule cellule !
merci d'avance
Super ! merci michel_m ca fonctionne !
Par contre je ne comprends pas quelque chose, si je met : 25/07/2009 ca fonctionne, il m'inscrit : "en retard"
Mais si je met un moment date infèrieure, il ne m'inscrit rien.
Ma macro a besoin d'un fonctionnement avant/après, la colonne A doit pouvoir accueillir des dates antèrieures.
une petite modification ? merci
Par contre je ne comprends pas quelque chose, si je met : 25/07/2009 ca fonctionne, il m'inscrit : "en retard"
Mais si je met un moment date infèrieure, il ne m'inscrit rien.
Ma macro a besoin d'un fonctionnement avant/après, la colonne A doit pouvoir accueillir des dates antèrieures.
une petite modification ? merci
J'ai toujours un incompatibilité de type ! j'ai essayé de faire "now - cells" au lieu de "cells - now" mais toujours une erreur ! merci de m'aider !
Sub TEST1() Dim lig As Long Dim datesur36 As Single datesur36 = 36 For lig = 1 To [A65536].End(xlUp).Row If Now - Cells(lig, 1) > datesur36 / 24 Then 'Colonne A Cells(lig, 15).Value = "en retard" 'Colonne O End If Next lig End Sub Sub test2() test = Now - Cells(1, 1) MsgBox test End Sub