fonction now. (remplace et annule mon post).

Le
fred.41
bonsoir,

voilà ma question, j'ai sous un tableau excel classique une fonction comme
cela :
=SI(ESTVIDE(Montant);"-";AUJOURDHUI())

le pb c'est que la date se met à jour à chq ouverture du classeur (logique).
donc j'ai trouvé sur le net une fonction sous vba du type :

Sub UseFunction()
[A1] = Now() 'ne change pas à chaque ouverture
End Sub.

donc ma question comment je peux mettre ce sub avec la fonction classique
que j'ai sur mon tableau.

si quelqu'un pourrait me conseiller et me donner un début de piste, j'en
serai ravi.

merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LeSteph
Le #1329645
En imaginant que tu souhaites mettre la date
dans la colonne juste après montant (plage nommée)[impérativement voir
Définir un nom]
soit dans l'exemple c.Column +1
Apacer dans lecode propriété de Worksheet
dans VBA Explorateur de projet tu dblclic sur
le nom de la feille sohaitée puis tu clique sur le
déroulant hautgauche (général) tu choisiss worksheet à la place
du module et remplace l'évènement proposé par défaut pour
Public Sub Worksheet par Calculate
ainsi:

Private Sub Worksheet_Calculate()
For Each c In Range("Montant").Cells

If c.Value = "" Then

Else
If Cells(c.Row, c.Column + 1) = "-" Then
Cells(c.Row, c.Column + 1) = Now
Else
End If
End If
Next
End Sub

LeSteph

"fred.41" news:c6u7jl$qtc$
bonsoir,

voilà ma question, j'ai sous un tableau excel classique une fonction comme
cela :
=SI(ESTVIDE(Montant);"-";AUJOURDHUI())

le pb c'est que la date se met à jour à chq ouverture du classeur
(logique).

donc j'ai trouvé sur le net une fonction sous vba du type :

Sub UseFunction()
[A1] = Now() 'ne change pas à chaque ouverture
End Sub.

donc ma question comment je peux mettre ce sub avec la fonction classique
que j'ai sur mon tableau.

si quelqu'un pourrait me conseiller et me donner un début de piste, j'en
serai ravi.

merci





fred.publicite
Le #1331764
merci LeSteph pour cette réponse complète, trop même pour mes connaissances
sur vbapplication, mais je vais me creuser la tête :)

sinon la date est avant la colonne montant, toutes sont nommées correctement
(en principe)

je vais tester ta procédure dans la journée,

merci en tout cas

bonne semaine

"LeSteph" 4092c5a7$0$8641$

En imaginant que tu souhaites mettre la date
dans la colonne juste après montant (plage nommée)[impérativement voir
Définir un nom]
soit dans l'exemple c.Column +1
Apacer dans lecode propriété de Worksheet
dans VBA Explorateur de projet tu dblclic sur
le nom de la feille sohaitée puis tu clique sur le
déroulant hautgauche (général) tu choisiss worksheet à la place
du module et remplace l'évènement proposé par défaut pour
Public Sub Worksheet par Calculate
ainsi:

Private Sub Worksheet_Calculate()
For Each c In Range("Montant").Cells

If c.Value = "" Then

Else
If Cells(c.Row, c.Column + 1) = "-" Then
Cells(c.Row, c.Column + 1) = Now
Else
End If
End If
Next
End Sub

LeSteph

"fred.41" news:c6u7jl$qtc$
bonsoir,

voilà ma question, j'ai sous un tableau excel classique une fonction
comme


cela :
=SI(ESTVIDE(Montant);"-";AUJOURDHUI())

le pb c'est que la date se met à jour à chq ouverture du classeur
(logique).

donc j'ai trouvé sur le net une fonction sous vba du type :

Sub UseFunction()
[A1] = Now() 'ne change pas à chaque ouverture
End Sub.

donc ma question comment je peux mettre ce sub avec la fonction
classique


que j'ai sur mon tableau.

si quelqu'un pourrait me conseiller et me donner un début de piste, j'en
serai ravi.

merci









LeSteph
Le #1332165
Fred a écrit ."sinon la date est avant la colonne montant "

Ok! pas de pb tu mets
column-1
au lieu de
column+1

LeSteph
http://cocosteph.free.fr





"fred.publicite" news:c75bge$hd5$
merci LeSteph pour cette réponse complète, trop même pour mes
connaissances

sur vbapplication, mais je vais me creuser la tête :)

sinon la date est avant la colonne montant, toutes sont nommées
correctement

(en principe)

je vais tester ta procédure dans la journée,

merci en tout cas

bonne semaine

"LeSteph" 4092c5a7$0$8641$

En imaginant que tu souhaites mettre la date
dans la colonne juste après montant (plage nommée)[impérativement voir
Définir un nom]
soit dans l'exemple c.Column +1
Apacer dans lecode propriété de Worksheet
dans VBA Explorateur de projet tu dblclic sur
le nom de la feille sohaitée puis tu clique sur le
déroulant hautgauche (général) tu choisiss worksheet à la place
du module et remplace l'évènement proposé par défaut pour
Public Sub Worksheet par Calculate
ainsi:

Private Sub Worksheet_Calculate()
For Each c In Range("Montant").Cells

If c.Value = "" Then

Else
If Cells(c.Row, c.Column + 1) = "-" Then
Cells(c.Row, c.Column + 1) = Now
Else
End If
End If
Next
End Sub

LeSteph

"fred.41" news:c6u7jl$qtc$
bonsoir,

voilà ma question, j'ai sous un tableau excel classique une fonction
comme


cela :
=SI(ESTVIDE(Montant);"-";AUJOURDHUI())

le pb c'est que la date se met à jour à chq ouverture du classeur
(logique).

donc j'ai trouvé sur le net une fonction sous vba du type :

Sub UseFunction()
[A1] = Now() 'ne change pas à chaque ouverture
End Sub.

donc ma question comment je peux mettre ce sub avec la fonction
classique


que j'ai sur mon tableau.

si quelqu'un pourrait me conseiller et me donner un début de piste,
j'en



serai ravi.

merci













Publicité
Poster une réponse
Anonyme