VBA test cellule

Le
Sunburn
Bonjour,
j'ai une procédure pour qu'avant une impression, la date du jour se saisisse
dans la dernière cellule non vide d'une plage.
Or j'ai un soucis, je fais une édition multiple, d'une selection d'onglet,
et ma liste est incrémenter d'une date à chaque fois.
Donc je voudrais que la date du jour se mette dans la dernère cellule non
vide, si la date du jour est plus récente que le dernière cellule saisie de
ma plage.
Explication et macro :
donc ma plage est "DA", N5 à N65.
si la dernière date de cette plage est la date du jour, alors je ne fais
rien de plus dans le before print, sinon, j'insère la date du jour.
-
'pour insérer la date du jour dans la plage "date"
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
For Each n In Sheets("DA").[N5:N65]
If n = "" Then
n.Value = Date
Exit Sub
End If
Next
End Sub
-
je vous remercie.
YANN
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #17761491
Salut à toi
Je mettrais ton code modifié ainsi :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
For Each n In Sheets("DA").[N5:N65]
If n = "" and n.offset(-1,0) < Date Then
n.Value = Date
Exit Sub
End If
Next
End Sub

Celà devrait convenir
Dit moi !!!
Daniel.C
Le #17761611
Bonjour.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Set c = [DA!N65].End(xlUp)
If IsDate(c) Then
c.Value = Date
Else
c.Offset(1).Value = Date
End If
End Sub

Cordialement.
Daniel
Bonjour,
j'ai une procédure pour qu'avant une impression, la date du jour se saisisse
dans la dernière cellule non vide d'une plage.
Or j'ai un soucis, je fais une édition multiple, d'une selection d'onglet,
et ma liste est incrémenter d'une date à chaque fois.
Donc je voudrais que la date du jour se mette dans la dernère cellule non
vide, si la date du jour est plus récente que le dernière cellule saisie de
ma plage.
Explication et macro :
donc ma plage est "DA", N5 à N65.
si la dernière date de cette plage est la date du jour, alors je ne fais
rien de plus dans le before print, sinon, j'insère la date du jour.
----
'pour insérer la date du jour dans la plage "date"
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
For Each n In Sheets("DA").[N5:N65]
If n = "" Then
n.Value = Date
Exit Sub
End If
Next
End Sub
-------
je vous remercie.
YANN


Sunburn
Le #17761601
test :
N5 = 01/10/08
N6 = 02/10/08
N7 = 03/10/08
N8 = 06/10/08
il fait N9 =""
N10 = 06/10/08
puis N11 = ""
puis N12 = 06/10/08

et ainsi de suite, donc pas cool.
Yann


"FFO" a écrit :

Salut à toi
Je mettrais ton code modifié ainsi :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
For Each n In Sheets("DA").[N5:N65]
If n = "" and n.offset(-1,0) < Date Then
n.Value = Date
Exit Sub
End If
Next
End Sub

Celà devrait convenir
Dit moi !!!



Sunburn
Le #17761761
Daniel,
merci, presque parfait, sauf que la saisie se fait dans la cellule ou la
dernière date est différente de la date d'aujourd'hui, et non pas dans la
première cellule non vide.
Yann

"Daniel.C" a écrit :

Bonjour.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Set c = [DA!N65].End(xlUp)
If IsDate(c) Then
c.Value = Date
Else
c.Offset(1).Value = Date
End If
End Sub

Cordialement.
Daniel
> Bonjour,
> j'ai une procédure pour qu'avant une impression, la date du jour se saisisse
> dans la dernière cellule non vide d'une plage.
> Or j'ai un soucis, je fais une édition multiple, d'une selection d'onglet,
> et ma liste est incrémenter d'une date à chaque fois.
> Donc je voudrais que la date du jour se mette dans la dernère cellule non
> vide, si la date du jour est plus récente que le dernière cellule saisie de
> ma plage.
> Explication et macro :
> donc ma plage est "DA", N5 à N65.
> si la dernière date de cette plage est la date du jour, alors je ne fais
> rien de plus dans le before print, sinon, j'insère la date du jour.
> ----
> 'pour insérer la date du jour dans la plage "date"
> Private Sub Workbook_BeforePrint(Cancel As Boolean)
> On Error Resume Next
> For Each n In Sheets("DA").[N5:N65]
> If n = "" Then
> n.Value = Date
> Exit Sub
> End If
> Next
> End Sub
> -------
> je vous remercie.
> YANN





Daniel.C
Le #17761751
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Set c = [DA!N65].End(xlUp)
If IsDate(c) And c.Value <> Date Then
c.Offset(1).Value = Date
End If
End Sub

Daniel

Daniel,
merci, presque parfait, sauf que la saisie se fait dans la cellule ou la
dernière date est différente de la date d'aujourd'hui, et non pas dans la
première cellule non vide.
Yann

"Daniel.C" a écrit :

Bonjour.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Set c = [DA!N65].End(xlUp)
If IsDate(c) Then
c.Value = Date
Else
c.Offset(1).Value = Date
End If
End Sub

Cordialement.
Daniel
Bonjour,
j'ai une procédure pour qu'avant une impression, la date du jour se
saisisse dans la dernière cellule non vide d'une plage.
Or j'ai un soucis, je fais une édition multiple, d'une selection d'onglet,
et ma liste est incrémenter d'une date à chaque fois.
Donc je voudrais que la date du jour se mette dans la dernère cellule non
vide, si la date du jour est plus récente que le dernière cellule saisie de
ma plage.
Explication et macro :
donc ma plage est "DA", N5 à N65.
si la dernière date de cette plage est la date du jour, alors je ne fais
rien de plus dans le before print, sinon, j'insère la date du jour.
----
'pour insérer la date du jour dans la plage "date"
Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error Resume Next
For Each n In Sheets("DA").[N5:N65]
If n = "" Then
n.Value = Date
Exit Sub
End If
Next
End Sub
-------
je vous remercie.
YANN









Sunburn
Le #17764161
Ok, je te remercie, c'est nikel crome !!

Yann

"Daniel.C" a écrit :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Set c = [DA!N65].End(xlUp)
If IsDate(c) And c.Value <> Date Then
c.Offset(1).Value = Date
End If
End Sub

Daniel

> Daniel,
> merci, presque parfait, sauf que la saisie se fait dans la cellule ou la
> dernière date est différente de la date d'aujourd'hui, et non pas dans la
> première cellule non vide.
> Yann
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>>
>> Private Sub Workbook_BeforePrint(Cancel As Boolean)
>> Set c = [DA!N65].End(xlUp)
>> If IsDate(c) Then
>> c.Value = Date
>> Else
>> c.Offset(1).Value = Date
>> End If
>> End Sub
>>
>> Cordialement.
>> Daniel
>>> Bonjour,
>>> j'ai une procédure pour qu'avant une impression, la date du jour se
>>> saisisse dans la dernière cellule non vide d'une plage.
>>> Or j'ai un soucis, je fais une édition multiple, d'une selection d'onglet,
>>> et ma liste est incrémenter d'une date à chaque fois.
>>> Donc je voudrais que la date du jour se mette dans la dernère cellule non
>>> vide, si la date du jour est plus récente que le dernière cellule saisie de
>>> ma plage.
>>> Explication et macro :
>>> donc ma plage est "DA", N5 à N65.
>>> si la dernière date de cette plage est la date du jour, alors je ne fais
>>> rien de plus dans le before print, sinon, j'insère la date du jour.
>>> ----
>>> 'pour insérer la date du jour dans la plage "date"
>>> Private Sub Workbook_BeforePrint(Cancel As Boolean)
>>> On Error Resume Next
>>> For Each n In Sheets("DA").[N5:N65]
>>> If n = "" Then
>>> n.Value = Date
>>> Exit Sub
>>> End If
>>> Next
>>> End Sub
>>> -------
>>> je vous remercie.
>>> YANN
>>
>>
>>





Publicité
Poster une réponse
Anonyme