Changer les formules en valeur

Bonjour à tous

Je joins un fichier ou en ligne 1 j'ai des dates et en dessous des formules, je souhaiterai que ces formules soient changées en valeur quand la date du dessus est passée.

Il y aura beaucoup de date en lignes et pas mal de formule en dessous.

Merci

Bonjour fredolilo,

Voici un essai en pièce jointe,

Bonjour,

sans boucle :

Sub CopierCollerValeurs()
    Dim nblig As Long, nbcol As Long, pl As Range
    nblig = Cells(Rows.Count, 1).End(xlUp).Row
    nbcol = Application.Match(CLng(Date), ActiveSheet.[1:1], 1)
    On Error Resume Next
    Set pl = Cells(2, 2).Resize(nblig - 1, nbcol - 1).SpecialCells(xlCellTypeFormulas)
    On Error GoTo 0
    If Not pl Is Nothing Then pl.Value = pl.Value
    Set pl = Nothing
End Sub

eric

Eeric top ta solution, dans le but que je progresse pourrais tu m'expliquer la démarche par des petits commentaires sur ton code?

Si pas possible pas grave.

Et merci encore d avoir pris le temps.

Fred

bonjour

salut au passage eriic

je propose de faire de l'informatique de gestion de données : on saisit d'un côté et on exploite d'un autre

saisie dans une liste ou Tableau

exploitation dans un TCD

exemple joint

pas de VBA, aucune formule, même pas une addition !

note : ne JAMAIS faire de tableau comportant des noms de colonnes en doublons comme dans ton exemple où il y a plusieurs fois 03/03/19

amitiés

Bonjour à tous,

pas grand chose à expliquer, les noms des variables parlent d'eux-même. Et pour les fonction inconnues, F1 dessus expliquera beaucoup mieux que moi.

2 points quand même :

.SpecialCells(xlCellTypeFormulas) restreint la plage aux seules cellules avec formule pour limiter le traitement. Inutile de refaire ce qui a déjà été fait.

If Not pl Is Nothing Then pl.Value = pl.Value : si cette plage résultante n'est pas vide on colle les valeurs.

eric

Rechercher des sujets similaires à "changer formules valeur"