Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur code

9 réponses
Avatar
sunburn
Bonjour,
j'ai un code qui fonctionnait bien avant des tests sous 2007, et maintenant
ça bug en Excel 2003.
C'est pour inscrire la date du jour dans une plage avant l'impression, afin
d'avoir un suivi des impressions.

voici le code :
-------
'pour insérer la date du jour dans la plage "date"
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 '********ça bug ici
*********
End If
End Sub
-------

Si vous avez des idées du pourquoi ça plante ? protection de feuille ???

merci.
YANN

9 réponses

Avatar
isabelle
bonjour Yann,

essai avec :

range(C.Address).Offset(1) = Date

isabelle



sunburn a écrit :
Bonjour,
j'ai un code qui fonctionnait bien avant des tests sous 2007, et maintenant
ça bug en Excel 2003.
C'est pour inscrire la date du jour dans une plage avant l'impression, afin
d'avoir un suivi des impressions.

voici le code :
-------
'pour insérer la date du jour dans la plage "date"
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 '********ça bug ici
*********
End If
End Sub
-------

Si vous avez des idées du pourquoi ça plante ? protection de feuille ???

merci.
YANN



Avatar
papou
Bonjour
Probablement protection en cause mais quel est le message d'erreur ?
Cordialement
Pascal

"sunburn" a écrit dans le message de
news:
Bonjour,
j'ai un code qui fonctionnait bien avant des tests sous 2007, et
maintenant
ça bug en Excel 2003.
C'est pour inscrire la date du jour dans une plage avant l'impression,
afin
d'avoir un suivi des impressions.

voici le code :
-------
'pour insérer la date du jour dans la plage "date"
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 '********ça bug ici
*********
End If
End Sub
-------

Si vous avez des idées du pourquoi ça plante ? protection de feuille ???

merci.
YANN


Avatar
sunburn
Bonjour,
le message qu'il me met est :
------
erreur d'execution '1004' :
Erreur définie par l'application ou par l'objet
-----
j'ai testé avec le code d'isabelle, même message ....

YANN
Avatar
michdenis
Bonjour Sunburn,

Si tu veux utiliser une variable objet de type "Range",
pourquoi ne pas la définir au préalable.

Dim C as range
Set C = [DA!N65].End(xlUp)
If IsDate(C) And C.Value <> Date Then
C.Offset(1).Value = Date
End if
Avatar
Daniel.C
Bonjour.
Tu parles d'une plage "date". Le mot est réservé, tu ne devrais
l'utiliser. Essaie de le changer.
Daniel

Bonjour,
j'ai un code qui fonctionnait bien avant des tests sous 2007, et maintenant
ça bug en Excel 2003.
C'est pour inscrire la date du jour dans une plage avant l'impression, afin
d'avoir un suivi des impressions.

voici le code :
-------
'pour insérer la date du jour dans la plage "date"
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 '********ça bug ici
*********
End If
End Sub
-------

Si vous avez des idées du pourquoi ça plante ? protection de feuille ???

merci.
YANN


Avatar
sunburn
bonjour,
j'ai essayé, ça, et ça bug toujours, le même message :
---------
'pour insérer la date du jour dans la plage "date"
Private Sub Workbook_BeforePrint(cancel As Boolean)
Dim C As Range
Set C = [DA!N64].End(xlUp)
If IsDate(C) And C.Value <> Date Then
'Range(C.Address).Offset(1) = Date
C.Offset(1).Value = Date
End If
End Sub
---------
YANN

"michdenis" wrote:

Bonjour Sunburn,

Si tu veux utiliser une variable objet de type "Range",
pourquoi ne pas la définir au préalable.

Dim C as range
Set C = [DA!N65].End(xlUp)
If IsDate(C) And C.Value <> Date Then
C.Offset(1).Value = Date
End if





Avatar
sunburn
Précision :
le code est dans le ThisWorkbook
Avatar
michdenis
Si ça ne fonctionne pas, tu dois chercher une raison autre que
le passage d'une version office 2007 à 2003.
J'ai testé ce code sous 2003 et cela n'a généré aucun problème !



"sunburn" a écrit dans le message de groupe de
discussion :
Précision :
le code est dans le ThisWorkbook
Avatar
sunburn
Ok, en creusant, je désactive te je réactive le protection de la feuille "DA" :
Sheets("DA").Unprotect
C.Offset(1).Value = Date
Sheets("DA").Protect

et là c'est OK......
Bizarre, car avant ça marchait sans problème..... j'ai du toucher quelque
chose qui fallait pas.
Merci à vous tous.
YANN


"michdenis" wrote:

Si ça ne fonctionne pas, tu dois chercher une raison autre que
le passage d'une version office 2007 à 2003.
J'ai testé ce code sous 2003 et cela n'a généré aucun problème !



"sunburn" a écrit dans le message de groupe de
discussion :
Précision :
le code est dans le ThisWorkbook