PB Raffraichisement de Celulle

barry white

XLDnaute Junior
Bijour a tous,

Je suis en train de me prendre la tete avec une macro. Je m explique donc.

J'ai un fichier qui a cette norme de nom :

"TOTO_DATE1_DATE2_BABA_BOBO.XLS"​

Ma macro recupere "DATE1" (Format AAMMJJ) et l'introduit dans la cellule "E1" de ma feuille (en realité ma macro transforme date1 en JJ-MM-AA).

E1 et la reference d'une formule (Avec format conditionelle :

=SI(C3=1;"J";SI($E$1>D3;"L";"K"))​
=

Le Probleme :

C'est que la case E1 est en erreur. Sa a pour consequence de faire de mauvais calcul. Apres arret de la macro Il suffit que je double clic dans la cellule E1 pour que tout va bien. (GRRRRR)

Est ce un bug excel? comment contourner le pb.

Merci a vous!!
 

barry white

XLDnaute Junior
Re : PB Raffraichisement de Celulle

re


déjà commence par la récupération de la date si tu veux

Okki donc :

Ceci pour convertion de date AAMMJJ => JJ/MM/AA
Code:
    datEar = Split(ActiveWorkbook.Name, "_")(2)
    AnneE = Left(Mid(datEar, 1), Len(Mid(datEar, 1)) - 4)
    MoiS = Left(Mid(datEar, 3), Len(Mid(datEar, 3)) - 2)
    JouR = Left(Mid(datEar, 5), Len(Mid(datEar, 5)) - 0)
    fIltredaTe = JouR & "/" & MoiS & "/" & AnneE

Passage de la cellule E1 en format de date JJ/MM/AA
Code:
    Range("E1").Select
    Selection.NumberFormat = "dd/mm/yy"

Recuperation pour la mettre dans la cellule E1
Code:
Range("E1").Select
    ActiveCell.FormulaR1C1 = (fIltredaTe)

Merci de ton aide
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : PB Raffraichisement de Celulle

Re

essaies en modifiant

fIltredaTe = JouR & "/" & MoiS & "/" & AnneE

par

fIltredaTe = dateserial(AnneE,MoiS,JouR)

et
Range("E1").Select
ActiveCell.FormulaR1C1 = (fIltredaTe)

par
Range("E1")=fIltredaTe
 

barry white

XLDnaute Junior
Re : PB Raffraichisement de Celulle

Je post le fichier excel. ou j'ai effectué l'arret de la macro.

Donc quand tu double clic sur la cellule E1 bah tout reviens dans l'odre...
 

Pièces jointes

  • TDB.xls
    19 KB · Affichages: 48
  • TDB.xls
    19 KB · Affichages: 48
  • TDB.xls
    19 KB · Affichages: 53

barry white

XLDnaute Junior
Re : PB Raffraichisement de Celulle

Re

essaies en modifiant

fIltredaTe = JouR & "/" & MoiS & "/" & AnneE

par

fIltredaTe = dateserial(AnneE,MoiS,JouR)

et
Range("E1").Select
ActiveCell.FormulaR1C1 = (fIltredaTe)

par
Range("E1")=fIltredaTe

Euh... effectivement!!! Nikel ca marche!!! et moi ca fait une heure que je suis dessus, un truc tout "con"!

Mais qu elle est la difference entre

"ActiveCell.FormulaR1C1" et le "range"

merci a toi!!
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : PB Raffraichisement de Celulle

Re

déjà tu gagnes du temps car tu n'es pas obligé de selectionner pour ecrire dedans

et toi tu lui disais que c'étati une formule alors que perso je lui dit c'est une valeur donc il comprend bien que c'est une date
 

Discussions similaires

Statistiques des forums

Discussions
312 525
Messages
2 089 334
Membres
104 123
dernier inscrit
kiosqueexcel