Microsoft 365 VBA-Conversion formules en valeurs/condition date

MONTREAL2020

XLDnaute Junior
Salut,

SVP, je cherchais un code VBA qui permet de convertir des formules en colonne dans un tableau structuré et ce en fonction d'une date spécifique.

- Chaque colonne comporte une date fixe en entête
- Chaque colonne comporte des formules
- En (A1) un date qui change

Requête:

Comparer chaque entête de colonne à A1, exemple SI (Date entête E4)<A1, convertir toute les formules de la colonne en E5:E2000 en valeurs

Merci infiniment

Fichier PJ
 

Pièces jointes

  • Fichier_Conversion_Formules_en_Valeurs - Copie (2).xlsm
    26.5 KB · Affichages: 8
Solution
Salut Jacky,


Ça marche super bien sur le bout de tableau existant.

Mais dès lors que j'étends mon tableau en créant plus de colonne, la macro ne s'exécute plus.

Toutefois, les formules des colonnes dont la date en entête est > supérieure à A1 devraient rester inchangées.

Juste les colonne dont la date est inférieure

Très apprécié.

Merci infiniment
Re.
Hello job75 :)
Je n'éprouve aucune difficulté a faire ce qui est demandé quand je redimensionne le tableau [tableau1]
Comme la mise à jour est faite sur la modification de A1, il faut évidemment que cette cellule soit modifiée ou ressaisie

Ps Dans le classeur original, il y a des séries de 6 dates après "12/01/2023" au lieu de 5 ???

Jacky67

XLDnaute Barbatruc
Salut,

SVP, je cherchais un code VBA qui permet de convertir des formules en colonne dans un tableau structuré et ce en fonction d'une date spécifique.

- Chaque colonne comporte une date fixe en entête
- Chaque colonne comporte des formules
- En (A1) un date qui change

Requête:

Comparer chaque entête de colonne à A1, exemple SI (Date entête E4)<A1, convertir toute les formules de la colonne en E5:E2000 en valeurs

Merci infiniment

Fichier PJ
Bonjour,
La macro placée dans le module de la feuille en question, pourrait ressembler à ceci
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [a1]) Is Nothing Then Exit Sub
    Dim i&
    Application.EnableEvents = False
    For i = 5 To [tableau1].Columns.Count
        If Cells(4, i) < [a1] Then
            [tableau1].Columns(i).Value = [tableau1].Columns(i).Value
        End If
    Next
    Application.EnableEvents = True
End Sub
 

Pièces jointes

  • Fichier_Conversion_Formules_en_Valeurs - Copie (2).xlsm
    31.2 KB · Affichages: 2
Dernière édition:

MONTREAL2020

XLDnaute Junior
Salut Jacky,


Ça marche super bien sur le bout de tableau existant.

Mais dès lors que j'étends mon tableau en créant plus de colonne, la macro ne s'exécute plus.

Toutefois, les formules des colonnes dont la date en entête est > supérieure à A1 devraient rester inchangées.

Juste les colonne dont la date est inférieure

Très apprécié.

Merci infiniment
 
Dernière édition:

Jacky67

XLDnaute Barbatruc
Salut Jacky,


Ça marche super bien sur le bout de tableau existant.

Mais dès lors que j'étends mon tableau en créant plus de colonne, la macro ne s'exécute plus.

Toutefois, les formules des colonnes dont la date en entête est > supérieure à A1 devraient rester inchangées.

Juste les colonne dont la date est inférieure

Très apprécié.

Merci infiniment
Re.
Hello job75 :)
Je n'éprouve aucune difficulté a faire ce qui est demandé quand je redimensionne le tableau [tableau1]
Comme la mise à jour est faite sur la modification de A1, il faut évidemment que cette cellule soit modifiée ou ressaisie

Ps Dans le classeur original, il y a des séries de 6 dates après "12/01/2023" au lieu de 5 ???
 

Pièces jointes

  • Fichier_Conversion_Formules_en_Valeurs - Copie (2).xlsm
    33.2 KB · Affichages: 6
Dernière édition:

MONTREAL2020

XLDnaute Junior
Bonjour MONTREAL2020, Jacky67, le forum,

Quand on entre 15/06/2023 en A1 les formules en colonnes M et N doivent être supprimées.

Mais si ensuite on entre 01/01/2023 que faut-il faire ? Remettre les formules ?

A+
Bonjour MONTREAL2020, Jacky67, le forum,

Quand on entre 15/06/2023 en A1 les formules en colonnes M et N doivent être supprimées.

Mais si ensuite on entre 01/01/2023 que faut-il faire ? Remettre les formules ?

A+
Salut job75.
L'objectif de cette macro est qu'elle me permet de garder une archive des mes différentes opérations, dans mon cas-ci c'est une cycle d'une semaine. Mais j'aimerai bien que le code soient adaptable. Merci
 

MONTREAL2020

XLDnaute Junior
Re.
Hello job75 :)
Je n'éprouve aucune difficulté a faire ce qui est demandé quand je redimensionne le tableau [tableau1]
Comme la mise à jour est faite sur la modification de A1, il faut évidemment que cette cellule soit modifiée ou ressaisie

Ps Dans le classeur original, il y a des séries de 6 dates après "12/01/2023" au lieu de 5 ???
Bon matin Jacky,
Ça roule comme sur des roulettes. en plus le code s'exécute en 1 seconde, même pas perceptible à l'œil. je ne sais pas si c'est juste une impression :oops:.

Je vais essayer de l'adapter à mon fichier qui comporte pas mal de lignes et de colonnes.

Merci bcp et bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 241
Membres
103 162
dernier inscrit
fcfg