Blocage de date (AUJOURDHUI)
Résolu
Besoindaide83
Messages postés
129
Statut
Membre
-
Besoindaide83 Messages postés 129 Statut Membre -
Besoindaide83 Messages postés 129 Statut Membre -
Bonjour,
Je souhaiterai qu'une céllule qui défile en fonction des jours restant entre aujourdhui et une date, cesse de défilé mais affiche le dernier délai restant lorsqu'une autre céllule affiche 100%
Voici le fichier exemple avec l'explication.
https://www.cjoint.com/?CFrpW3Qocer
--
_____________________________
Maman m'a dit un jour :"Travaille bien à l'école et tu auras un bon métier".
Aujourd'hui j'ai compris ce qu'elle a voulu me dire et je rêve de passer ma vie a l'école...
Je souhaiterai qu'une céllule qui défile en fonction des jours restant entre aujourdhui et une date, cesse de défilé mais affiche le dernier délai restant lorsqu'une autre céllule affiche 100%
Voici le fichier exemple avec l'explication.
https://www.cjoint.com/?CFrpW3Qocer
--
_____________________________
Maman m'a dit un jour :"Travaille bien à l'école et tu auras un bon métier".
Aujourd'hui j'ai compris ce qu'elle a voulu me dire et je rêve de passer ma vie a l'école...
15 réponses
-
cette macro va agir dès l'ouverture du classeur; donc à chaque changement de date
Private Sub Auto_Open()
For Each Element In Range("L3:L10")
If Element.Offset(0, -1).Value < 1 Then Element.Value = Element.Offset(0, -9).Value - Range("O3").Value
Next
End Sub
supprimez la macro précédente de la feuille "Remontées et infos"
faites insérer un module et collez la nouvelle macro dans ce module
essayez -
Bonjour
Essayez ceci
à copier dans le module de la feuille "Remontées et infos"
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$O$3" Then Exit Sub
For Each Element In Range("L3:L10")
If Element.Offset(0, -1).Value < 1 Then Element.Value = Element.Offset(0, -9).Value - Target.Value
Next
End Sub
cdlt -
bonjour
Pour pouvoir utiliser le VBA (extrait de l'aide de MSoffice)
Vous devez afficher l'onglet Développeur ou exécuter le mode développeur pour écrire des macros, exécuter des macros enregistrées au préalable ou créer des applications à utiliser avec les programmes Microsoft Office.
Procédez comme suit dans Excel
Cliquez sur le bouton Microsoft Office Image du bouton, puis sur Options Excel,
Cliquez sur Standard, puis activez la case à cocher Afficher l'onglet Développeur dans le ruban.
cliquez sur le nouvel onglet développeur dans le ruban
cliquez sur Visual basic
dans la fenêtre de gauche, cliquez sur la feuille "Remontées et infos" et y copier le petit bout de programme
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$O$3" Then Exit Sub
For Each Element In Range("L3:L10")
If Element.Offset(0, -1).Value < 1 Then Element.Value = Element.Offset(0, -9).Value - Target.Value
Next
End Sub
bonne journée
cdlt -
Ca ne fonctionne pas hier le 17 les deux première ligne etaient a 100% et 164 jour restant et aujourd'hui le 18 elle aurraient du rester a 164 et ne pas descendre a 163 puisque la cellule d'avant est a 100%
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Revoici le fichier, chez moi il fonctionne correctement
https://www.cjoint.com/?CFsilCO3SRG
essayez et on en reparle -
Enfait je veux figer la céllule qui contient la formule de calcul du nombre de jour entre aujourdhui et la date de fin (qui défile chaque jour) lorsque le % d'avancement atteind 100%
-
nous avons envoyez notre précédent post en même temps, donc vous n'avez pas vu ma réponse
j'avais bien compris qu'il fallait figer le nombre de jours, fonctionnement de la macro.
si les 100% ne sont pas atteint, on applique la formule
si les 100% sont atteint, on fige la valeur
https://www.cjoint.com/?CFsilCO3SRG -
oki je vais essayer et si cela fonctionne pour l'appliquera mon fichier de base il faut que je modifi quelque chose ? sachant que la structure le nombre de données est différent
-
Ca ne fonctionne pas la macro HELP SVP.
frenchi toi ca fonctionne car tu as remplacé la formule dans le fichier par la valeur que je voulais donc c'est sur que ca fonctionne sauf que moi je veux que ca se fasse tout seul
-
Bonjour gbinforme
Effectivement, pour faire les tests, j'ai écrasé la formule en O3 "=aujourdhui()", et je changeai les dates à la main, ce qui dans ce cas là fonctionnait bien.
Donc le problème se pose à nouveau. Peut-être qu'il faudra prévoir une colonne supplémentaire qui conserve la date et faire un autre test. je vais y réfléchir à moins que quelqu'un est une autre idée? -
Non ca fonctionne pas il me modifie les cellules il en fige certaines mais pas toute et j'aimerai que lorsque je change le pourcentage pour le mettre en dessous 100% que le compteur reprenne enfaite. c'est vraiment figer le compteur lorsque c'est 100% en figeant la formule mais lorsque le % et modifié que la formule reprenne.
-
-
essayez ceci
à copier dans la feuille "Remontées et infos"
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 12 Or Target.Row > 18 Or Target.Row < 13 Then Exit Sub
MiseAJour
End Sub
Sub MiseAJour()
For Each Element In Range("L3:L10")
If Element.Offset(0, -1).Value < 1 Then
Element.Value = Element.Offset(0, -9).Value - Range("O3").Value
Element.Interior.ColorIndex = 6
End If
Next
Application.EnableEvents = True
End Sub
et conserver la macro du module 1 -
peux tu le faire dans le fichier et me le renvoyer parc eque je viens de le faire et ca ne fonctionne pas et je sais pas si je fais correctement.
-