comment figer dans une cellule une valeur issue d'une formule d'une autre cellule

dvarnier

XLDnaute Nouveau
bonjour,

je voudrais pouvoir, a la fermeture de mon fichier, figer "une bonne fois pour toutes" la valeur d'une cellule en fonction d'une autre cellule, en sachant que cette valeur vas diminuer dans le temps, comme cela j'ai un historique du "nombre de pieces manquantes quand on a commencé l'assemblage" (mais aujourd'hui il ne manque plus rien)

j'ai joint un bout de fichier reprenant mes infos

merci d'avance
 

Pièces jointes

  • recherche pour figer une valeur selon une date.xls
    38.5 KB · Affichages: 145

Robert

XLDnaute Barbatruc
Repose en paix
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

Bonjour Dvarnier et bienvenu, bonjour le forum,

J'avoue ne pas avoir bien compris la question malgré le fichier joint.
Peut-être une piste avec la macro événementielle BeforeClose de composant ThgisWorkbook à adapter à ton cas :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Feuil1").Range("Ta_Plage").Copy
Sheets("Feuil1").Range("Ta_Plage").PasteSpecial (xlPasteValues)
ThisWorkbook.Save
End Sub
 

dvarnier

XLDnaute Nouveau
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

bonjour Robert,
merci de ta réponse rapide mais cela ne répond pas a ma demande car a chaque fois que cela change dans la ligne 5 de mon exemple, ton bout de macro vient copier les valeurs modifiées de la ligne 5 dans la ligne 9, hors je voudrai que cela n'arrive qu'1 seule fois (une fois que j'ai une valeur dans la ligne 9 je ne veut plus qu'elle change, meme si celle de la ligne 5 evolue (elle va diminuer a chaque fois que l'on va recevoir une des pieces manquantes pour l'assemblage)
 

hoerwind

XLDnaute Barbatruc
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

Bonjour, salut Robert,

En cochant préalablement "Itération" sous le menu Outils - Options - Calcul
puis en B9 la formule du type : =SI(B4>$A$2;B5;B9)

Les références des cellules sont peut-être à adapter, l'exemple ne permettant pas de tester.
 

pierrejean

XLDnaute Barbatruc
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

Bonjour dvarnier

Salut hoerwind :)

Salut ami Robert :)

La solution n'est-elle pas de figer simultanement la date et le nbre de manquant ?
Auquel cas, ce qu'il nous faudrait connaitre c'est comment l' 'autre onglet' fige ces données
 

dvarnier

XLDnaute Nouveau
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

bonjour pierre jean,

en fait, la ligne 4 est alimentée par un autre onglet au démarrage de la production, c'est donc un simple renvoi par une formule de type =Feuil2!B4 (c'est pas celle ci mais l'équivalent dans mon fichier source)
je vous rejoint sur le fait que la date de debut de prod se trouve figée et la ligne des manquants (ligne 9 doit l'etre en meme temps, malgré tout le compteur des manquants en ligne 5 continuera de se décrémenter jusqu'a ne plus avoir de manquants
 

hoerwind

XLDnaute Barbatruc
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

Re,

J'ose supposer que par : cela ne fonctionne pas, il faut entendre : je ne parviens pas à faire fonctionner cette procédure

Vois la pièce jointe avec l'explication.
 

Pièces jointes

  • FigerValeurSelonDate.xls
    32.5 KB · Affichages: 176

job75

XLDnaute Barbatruc
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

Bonjour dvarnier, le fil,

Je pense avoir bien compris, alors cette macro dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [B4:IV5])
If Target Is Nothing Then Exit Sub
Dim col As Range
For Each col In Target.Columns 'si changements simultanés
  If Cells(4, col.Column) >= Date Then _
    Cells(9, col.Column) = Cells(5, col.Column)
Next
End Sub
La ligne 9 se modifie si la date en ligne 4 est >= à AUJOURDHUI().

Fichier joint.

A+
 

Pièces jointes

  • recherche pour figer une valeur selon une date(1).xls
    54 KB · Affichages: 104

dvarnier

XLDnaute Nouveau
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

je me suis mal exprimé

par exemple:
ce qu'il y a en K5 est la quantité de pieces manquantes (on imagine que pour assembler on a besoin de 100 pieces différentes ) chaque colonne représente une machine a assembler colonne B = machine n°1 C= machine n°2 etc, c'est de la série...):

cette valeur K5 existe mais diminue au fil du temps
(parce que les fournisseurs envoient des pieces au fur et a mesure)

par contre, dans le planning de production nous n'avons pas toutes les pieces mais nous pouvons malgré tout commencer l'assemblage

on met donc en K4 la date effective du démarrage de l'assemblage n°10 (les autres ont déja commencé )

ce que l'on veut:

garder en mémoire le nombre de pieces manquantes a l'instant T ou a commencé l'assemblage, en sachant que a T+1 ou T+2 le nombre de pieces diminue
on veut pouvoir tirer un indicateur du nombre de manquants a chaque début d'assemblage
 

dvarnier

XLDnaute Nouveau
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

en fait l'idée serait la suivante:

condition 1: si K4 = " " alors =>arret de la macro
condition 2: si K4 <> " " ET K9= " " alors copie de la valeur K5 en K9 (pour que se soit en dur)
condition 3: si K4 <> " " ET K9<> " " alors =>arret de la macro

que la macro vienne verifier toutes ces conditions de B a W a la fermeture du fichier

mais je ne sais pas "le mettre en musique sur visualbasic
 

Hellboy

XLDnaute Accro
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

En regardant ta macro test2 si c'est ça ta référence....

VB:
For X = 1 To Plage_A_Traiter.Cells.Count
       'pour X=1 à nombre de cellule dans la plage de départ
               Select Case Plage_A_Traiter.Cells(X)
                      Case "": Exit Sub
                      Case Not ""
                           If Plage_Cible.Cells(X) = "" Then
                              Plage_Cible.Cells(X) = Plage_A_Traiter.Cells(X)
                           Else: Exit Sub 'Sort dici
                           End If
               End Select
        'valeur Xème cellule plage cible= valeur Xème cellule plage à traiter
       Next X
 

dvarnier

XLDnaute Nouveau
Re : comment figer dans une cellule une valeur issue d'une formule d'une autre cellul

la seule reference que j'ai c'est ce que j'ai posté plus haut a savoir:

condition 1: si K4 = " " alors =>arret de la macro
condition 2: si K4 <> " " ET K9= " " alors copie de la valeur K5 en K9 (pour que se soit en dur)
condition 3: si K4 <> " " ET K9<> " " alors =>arret de la macro

que la macro vienne verifier toutes ces conditions de B a W a la fermeture du fichier
 

Discussions similaires

Statistiques des forums

Discussions
312 963
Messages
2 093 998
Membres
105 906
dernier inscrit
aifa