Mise à jour de dates

Bonjour à tous !

Je suis actuellement en train de réaliser un diagramme de Gantt en modifiant un fichier que j'ai trouvé sur internet

Dans ce tableau, je fixe une "date de fin replanifiée". Cette date de fin doit se figer une fois le Pourcentage réalisé arrivé à 100. Je travaille depuis ce matin sur une formule / macro, mais n'étant pas très habile avec VBA ...

Pour être plus clair ...

Sur la photo en pièce jointe : Je voudrais que lorsque je tappe "100%" comme c'est le cas actuellement, la valeur de la case en "Date de fin replanifiée" se fige sur la date =AUJOURDHUI() mais qu'elle ne change plus : Par exemple, en rallumant le fichier demain matin, je ne veux pas qu'il m'affiche 16/06/2015 mais qu'il conserve la date fixée !

Je vous remercie par avance, je tourne en rond de mon côté !

gantt

Bonjour, cela peut se réaliser comme ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [b:b]) Is Nothing And Target =100 Then Target.Offset(0, -1) = Format(Date, "dd/mm/yyyy")
End Sub

pour chaque cellule de la colonne b contenant 100, la cellule de gauche aura la date du jour à l'instant T

Si avec 100 ça marche pas remplacez par 1

Je vous remercie ! Je test ça dès demain en arrivant au bureau et vous tient au courant !

vous savez où placer le code dans le fichier ?

Oui, j'ai essayé de faire ça toute la journée et à voir le code ... Je n'y serais jamais arrivé à moins de reprendre les bases !

Je tente ça dès demain 8h ! Merci encore, je vous tient au courant

Hello ! Apparement non, je ne sais pas où ça va ...

Je l'avais placé dans "Macro", le problème est qu'il ne la prend pas en compte comme une macro une fois écrite ..

Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(H17, I2) Is Nothing And Target = 100 Then Target.Offset(0, -1) = Format(Date, "dd/mm/yyyy")
End Sub

En H17 j'ai : Le pourcentage

En I2 j'ai : AUJOURDHUI()

En G17 : La date replannifiée

(Voir photo prise après appuie sur F5 / le tiangle PLAY |>)

capture

Je pensais avoir compris ton code, mais apparement pas

Bonjour, dans l'éditeur vba (pour l'ouvrir alt + f11) il faut double cliquer sur le nom de la feuille où doit s'effectuer la macro (voir photo)

ensuite copier se code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [h:h]) Is Nothing And Target =100 Then Target.Offset(0, -1) = Format(Date, "dd/mm/yyyy")
End Sub

A chaque changement dans la feuille, la macro inspecte la colonne H et si elle trouve 100 elle met dans la colonne de gauche la date du jour. Vu que je ne connais pas le format de vos cellules, si elles sont en pourcent il faut remplacer 100 par 1 dans la macro.

Ah super merci ! Ca fonctionne parfaitement ! Je l'ai combiné avec ma formule et ça fonctionne parfaitement !

Je l'écrivais au bon endroit, le seul problème que j'ai eu a été ma mauvaise manie à modifier le code ... J'avais remplacé les b:b par des cases précises, et apparement, je l'avais mal fait

Merci beaucoup pour ton temps passé à m'aider ! Tu m'vites des longues heures de galère !

Sinon peut-être essayé également celui-ci

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 15 And Target.Column = 8 And Target = 1 Then Target.Offset(, -1) = Format(Date, "dd/mm/yyyy")
End Sub

Qui est un peu évolué et ne prends en compte que les modifications apportées aux lignes superieurs à 15

Le fichier sera moins lourd de cette façon ? Ca ne me pose pas torp de problème étant donné que je ne vais pas m'attarder sur les lignes du dessous

En tous cas merci, c'est super !

Il ne sera ni plus ni moins lourd, mais c'est plus "propre" après j'imagine bien que le suivi de projet se rempli...Quand on a le temps !

Oui c'est clair :p

EN l'occurence, cette feuille est le développement d'une sous-tâche et sert à remplir un tableau plus grand qui comprend toutes les sous-tâches

Merci !

you're welcome

Rechercher des sujets similaires à "mise jour dates"