Blocage de date (AUJOURDHUI)
Résolu/Fermé
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
-
17 juin 2013 à 15:49
Besoindaide83 Messages postés 118 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 23 novembre 2015 - 19 juin 2013 à 14:50
Besoindaide83 Messages postés 118 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 23 novembre 2015 - 19 juin 2013 à 14:50
A voir également:
- Blocage de date (AUJOURDHUI)
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
- Blocage pub youtube - Accueil - Streaming
- Blocage messenger - Guide
- Publipostage date inversée ✓ - Forum Word
15 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
18 juin 2013 à 09:25
18 juin 2013 à 09:25
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
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
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
17 juin 2013 à 17:33
17 juin 2013 à 17:33
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
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
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
17 juin 2013 à 20:17
17 juin 2013 à 20:17
Tu pm'expliquer comment je dois proceder car je ne sais absolument pas travailler sous vba avec excel :(
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
18 juin 2013 à 07:27
18 juin 2013 à 07:27
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
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
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
18 juin 2013 à 08:06
18 juin 2013 à 08:06
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
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
18 juin 2013 à 08:13
18 juin 2013 à 08:13
Revoici le fichier, chez moi il fonctionne correctement
https://www.cjoint.com/?CFsilCO3SRG
essayez et on en reparle
https://www.cjoint.com/?CFsilCO3SRG
essayez et on en reparle
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
18 juin 2013 à 08:13
18 juin 2013 à 08:13
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%
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
18 juin 2013 à 08:21
18 juin 2013 à 08:21
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
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
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 706
18 juin 2013 à 08:37
18 juin 2013 à 08:37
Bonjour Frenchie83,
Je ne pense pas que ta macro puisse fonctionner car tu testes la cellule "$O$3" dont la formule donne la date du jour et la macro "change" ne se déclenche que lorsque la cellule est modifiée : dans ce classeur, la cellule change de valeur mais n'est pas modifiée.
Je ne pense pas que ta macro puisse fonctionner car tu testes la cellule "$O$3" dont la formule donne la date du jour et la macro "change" ne se déclenche que lorsque la cellule est modifiée : dans ce classeur, la cellule change de valeur mais n'est pas modifiée.
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
18 juin 2013 à 08:32
18 juin 2013 à 08:32
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
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
18 juin 2013 à 08:41
18 juin 2013 à 08:41
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
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
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
18 juin 2013 à 08:51
18 juin 2013 à 08:51
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?
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?
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
18 juin 2013 à 09:47
18 juin 2013 à 09:47
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.
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
18 juin 2013 à 11:01
18 juin 2013 à 11:01
UP SVP
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
18 juin 2013 à 14:34
18 juin 2013 à 14:34
j'ai un souci, je n'arrive plus à voir les suites de la discussion au delà de ce post (même ce que j'ai envoyé juste après), alors que j'arrive à voir les autres discussions, si quelqu'un peut m'éclairer sur mon problème
merci
merci
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
18 juin 2013 à 12:46
18 juin 2013 à 12:46
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
à 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
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
18 juin 2013 à 14:05
18 juin 2013 à 14:05
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.
Besoindaide83
Messages postés
118
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
23 novembre 2015
15
19 juin 2013 à 14:50
19 juin 2013 à 14:50
up :/