XL 2016 date automatique selon la valeur, est-ce possible?

emorin

XLDnaute Nouveau
Bonjour,
voila j ai cree une feuille excel pour un inventaire mais je veux changer la date pour quel deviennent celle d aujourdhui quand je diminue la quantite de mon inventaire mais quel restent la meme si j augmente la quantite de mon inventaire .Mais je ne peux pas utuliser le vba parce que ma feuille sera partager sur internet avec 2 collegue de travail sur office 365.

DONC:
D3: serait la quantite de morceaux en inventaire
E3: serait la valeur que je voudrait enleve ou ajouter
F3: est la date de la derniere fois que jai utuliser les morceaux

Merci
 

Pièces jointes

  • Inventory list.xlsm
    19.1 KB · Affichages: 42
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

J'imagine que tu peux avoir plusieurs changements successifs, à quelques jours d'intervalle, à faire dans la colonne E.

Par exemple, ligne 3, E3 positif. F3 ne change pas.
Ensuite E3 devient négatif. Dans F3 on doit avoir la date X correspondant à ce dernier changement.
Quelques jours plus tard, on met une nouvelle valeur positive dans E3. Dans F3, on a toujours la date X.
Encore quelques jours plus tard, on écrit une nouvelle valeur négative dans E3. Dans F3, on doit avoir la date Y correspondant à ce dernier changement.
Etc.

@ plus
 

mutzik

XLDnaute Barbatruc
Bonjour emorin, salut Cisco

Qu'appelles-tu partagée sur Internet, ils ouvrent le document issu d'internet sur leur ordi, je ne vois pas en quoi cela empêche les macros ?

sinon c pas trop comme cela que je vois un inventaire ...
 

emorin

XLDnaute Nouveau
Bonjour Bertrand et Cisco

@mutzik

voila on partage les document avec office365 par courriel, les usages avec lesquels tu partage le document recoivent un lien qui ouvre une page web, donc il vont faire des modifications seulement par le navigateur pour pouvoir etre plusieur utulisateur a la fois sur la meme page. Avec un collegue j avais cree le macro suivant qui fonctionnait tres bien:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Definition of Variable
Dim QTY As Integer, PV As Integer, NV As Integer, NBVAL As Integer, STRNB As Integer
'STRNN : Start number = 2 : Title = 2
STRNB = 3
'Line number with Title + 1 (Title = A1)
NBVAL = Application.WorksheetFunction.CountA(Range("B:B")) + 1

'FOR LOOP FOR ALL CELLS
For CT = STRNB To NBVAL
'Variables affectations
QTY = Cells.Item(CT, "E")
PV = Cells.Item(CT, "D")
NV = PV + QTY
'Conditions
If PV = 0 Or Cells(CT, "D").Value = "" Then Cells(CT, "F").Value = Date
If NV < 0 Then NV = 0
If NV < PV Then Cells(CT, "F").Value = Date
'Cells actions
Cells(CT, "D").Value = NV
Cells(CT, "E").ClearContents
Next CT

Exit Sub

End Sub

Mais quand jai integre les code dans excel sur office 365 j ai vu qu il ne marchait plus et apres quelques recherche sur le site j ai trouve une information que le macro ne fonctionnait pas sur office 365.
 

emorin

XLDnaute Nouveau
Bonjour

J'imagine que tu peux avoir plusieurs changements successifs, à quelques jours d'intervalle, à faire dans la colonne E.

Par exemple, ligne 3, E3 positif. F3 ne change pas.
Ensuite E3 devient négatif. Dans F3 on doit avoir la date X correspondant à ce dernier changement.
Quelques jours plus tard, on met une nouvelle valeur positive dans E3. Dans F3, on a toujours la date X.
Encore quelques jours plus tard, on écrit une nouvelle valeur négative dans E3. Dans F3, on doit avoir la date Y correspondant à ce dernier changement.
Etc.

@ plus

Salut Cisco

C est exactement ca.
 

CISCO

XLDnaute Barbatruc
Bonjour

Cf. en pièce jointe.
Cf les noms anciennedate et nouvelledate dans le gestionnaire de noms :
* anciennedate = ='Inventory List'!$F3
* Pour faire des tests, j'ai mis nouvelledate = anciennedate+1. Avec nouvelledate = AUJOURDHUI(), on ne pourrait faire qu'un seul test, et après on ne verrai pas si cela fonctionne, ou pas, correctement, puisqu'on aurait toujours la date d'aujourd'hui qui serait affichée. Dans la version définitive, il faudra remplacer cette définition par nouvelledate = AUJOURDHUI().

Pour que cela fonctionne, il faut que le fichier accepte les références circulaires (Fichiers --> Options--> Formules --> Calcul itératif -->1 ou plus).

Je ne sais si cela fonctionnera sur Office 365.

@ plus

P.S : Il faut peut être passer par Options--> Formules -->... à chaque ouverture du fichier, ce qui n'est pas très pratique.
 

Pièces jointes

  • Inventory list.xlsm
    17.7 KB · Affichages: 37
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

J'ai l'impression que cela ne fonctionne pas car toutes les valeurs de la colonne F sont modifiées, sur les lignes ayant une valeur négative dans la colonne E, et pas seulement celle sur la ligne que l'on vient de modifier. Grrrr.

@ plus
 

emorin

XLDnaute Nouveau
Bonjour

Courage
Je vais continuer mes recherche de mon cote en partant de ton idee.

J ai oublie de te dire que jai verifier et oui tu peux utuliser les equations du gestionnaire des nom dans office 365
 
Dernière édition:

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83