OVH Cloud OVH Cloud

Incompatibilité de type '13'

8 réponses
Avatar
Peponne31
Bonjour,

J'ai recopié un module qui permet la sauvegarde automatique et lorsque je
le met en fonction il me retourne Erreur d'exécution '13' Incompatibilité de
type, voici la partie du code qui me cré se problème: Sub
CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub
Si quelqu'un veut bien aider un débutant, merci d'avance.
Je suis sur excel 2003.
Peponne31

8 réponses

Avatar
isabelle
bonjour Peponne31,

à quoi correspond Delai et sauve ?

en passant je connais Application.OnTime mais pas Application.OnDate, est ce une nouveauté de xl2003 ?

isabelle


Bonjour,

J'ai recopié un module qui permet la sauvegarde automatique et lorsque je
le met en fonction il me retourne Erreur d'exécution '13' Incompatibilité de
type, voici la partie du code qui me cré se problème: Sub
CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub
Si quelqu'un veut bien aider un débutant, merci d'avance.
Je suis sur excel 2003.
Peponne31


Avatar
Peponne31
Bonjour Isabelle,

Merci de bien vouloir m'aider, voici à quoi correspond delai et sauve:
Public Delai
Public Dossier
Public NbFicMax
Dim Nom
Public NextDate

Sub CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub

Sub Sauve()
Dim strDate As String
Count = Len(ActiveWorkbook.Name)
Nom = Left(ActiveWorkbook.Name, Count - 4)
strDate = Format(Date, "dd-mm-yy") & " " & Format(Date, "dd-mm-yy")
ThisWorkbook.SaveCopyAs Filename:=Dossier & Nom & strDate & ".xls"
DeleteEnTrop (Dossier)
CopieSauvegardeAuto
End Sub

Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer
bInfo.pidlRoot = 0&
If IsMissing(Msg) Then
bInfo.lpszTitle = "Choisissez un dossier de destination pour les sauvegardes."
Else
bInfo.lpszTitle = Msg
End If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
GetDirectory = Left(path, pos - 1)
Dossier = GetDirectory & ""
Else
GetDirectory = ""
End If
End Function


Sub ChoixDelai()
Delai = InputBox("Entrez sous la forme dd/mm/yy le délai souhaité entre deux
sauvegardes" _
& Chr(10) & "ex : 00/00/00 pour enregistrer toutes les 28 Jours", ,
"00/00/00")
End Sub

Sub ChoixNbSauvegardes()
NbFicMax = InputBox("Combien de sauvegardes voulez vous garder ?" _
& "seules les plus récentes sont conservées", , "4")
End Sub


Sub DeleteEnTrop(path)
Dim Fic As String
Dim Tabl() As Variant
Dim i As Integer

'Stocker les noms et les dates de sauvegarde des
'archives dans un tableau
ReDim Tabl(1, 0)
Fic = Dir(path)
Do While Fic <> ""
ReDim Preserve Tabl(1, UBound(Tabl, 2) + 1)
Tabl(0, UBound(Tabl, 2)) = Fic
Tabl(1, UBound(Tabl, 2)) = FileDateTime(path & Fic)
Fic = Dir
Loop

'S'il y a plus de fichiers que défini dans NbMax
'on trie le tableau des archives par date décroissante
'et on efface les premiers pour n'en laissser
'que le nombre choisi dans NbMax
If UBound(Tabl, 2) > NbFicMax Then
Tri Tabl, 1, UBound(Tabl, 2)
For i = UBound(Tabl, 2) To NbFicMax + 1 Step -1
Kill path & Tabl(0, i)
Next i
End If
End Sub
Ce n'est pas une nouveauté de Excel 2003, ce code date de 2002, il a été
réalisé par Flo Cabon, John Walkenbach, Iznogood et el-Joker.
Merci encore Peponne31


bonjour Peponne31,

à quoi correspond Delai et sauve ?

en passant je connais Application.OnTime mais pas Application.OnDate, est ce une nouveauté de xl2003 ?

isabelle


Bonjour,

J'ai recopié un module qui permet la sauvegarde automatique et lorsque je
le met en fonction il me retourne Erreur d'exécution '13' Incompatibilité de
type, voici la partie du code qui me cré se problème: Sub
CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub
Si quelqu'un veut bien aider un débutant, merci d'avance.
Je suis sur excel 2003.
Peponne31





Avatar
isabelle
sur la ligne
Tri Tabl, 1, UBound(Tabl, 2)
à quoi correspond "Tri" ?

isabelle

Bonjour Isabelle,

Merci de bien vouloir m'aider, voici à quoi correspond delai et sauve:
Public Delai
Public Dossier
Public NbFicMax
Dim Nom
Public NextDate

Sub CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub

Sub Sauve()
Dim strDate As String
Count = Len(ActiveWorkbook.Name)
Nom = Left(ActiveWorkbook.Name, Count - 4)
strDate = Format(Date, "dd-mm-yy") & " " & Format(Date, "dd-mm-yy")
ThisWorkbook.SaveCopyAs Filename:=Dossier & Nom & strDate & ".xls"
DeleteEnTrop (Dossier)
CopieSauvegardeAuto
End Sub

Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer
bInfo.pidlRoot = 0&
If IsMissing(Msg) Then
bInfo.lpszTitle = "Choisissez un dossier de destination pour les sauvegardes."
Else
bInfo.lpszTitle = Msg
End If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
GetDirectory = Left(path, pos - 1)
Dossier = GetDirectory & ""
Else
GetDirectory = ""
End If
End Function


Sub ChoixDelai()
Delai = InputBox("Entrez sous la forme dd/mm/yy le délai souhaité entre deux
sauvegardes" _
& Chr(10) & "ex : 00/00/00 pour enregistrer toutes les 28 Jours", ,
"00/00/00")
End Sub

Sub ChoixNbSauvegardes()
NbFicMax = InputBox("Combien de sauvegardes voulez vous garder ?" _
& "seules les plus récentes sont conservées", , "4")
End Sub


Sub DeleteEnTrop(path)
Dim Fic As String
Dim Tabl() As Variant
Dim i As Integer

'Stocker les noms et les dates de sauvegarde des
'archives dans un tableau
ReDim Tabl(1, 0)
Fic = Dir(path)
Do While Fic <> ""
ReDim Preserve Tabl(1, UBound(Tabl, 2) + 1)
Tabl(0, UBound(Tabl, 2)) = Fic
Tabl(1, UBound(Tabl, 2)) = FileDateTime(path & Fic)
Fic = Dir
Loop

'S'il y a plus de fichiers que défini dans NbMax
'on trie le tableau des archives par date décroissante
'et on efface les premiers pour n'en laissser
'que le nombre choisi dans NbMax
If UBound(Tabl, 2) > NbFicMax Then
Tri Tabl, 1, UBound(Tabl, 2)
For i = UBound(Tabl, 2) To NbFicMax + 1 Step -1
Kill path & Tabl(0, i)
Next i
End If
End Sub
Ce n'est pas une nouveauté de Excel 2003, ce code date de 2002, il a été
réalisé par Flo Cabon, John Walkenbach, Iznogood et el-Joker.
Merci encore Peponne31



bonjour Peponne31,

à quoi correspond Delai et sauve ?

en passant je connais Application.OnTime mais pas Application.OnDate, est ce une nouveauté de xl2003 ?

isabelle



Bonjour,

J'ai recopié un module qui permet la sauvegarde automatique et lorsque je
le met en fonction il me retourne Erreur d'exécution '13' Incompatibilité de
type, voici la partie du code qui me cré se problème: Sub
CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub
Si quelqu'un veut bien aider un débutant, merci d'avance.
Je suis sur excel 2003.
Peponne31







Avatar
Peponne31
Re,

Je te fais parvenir le module par le biais de Cjoint.com

http://cjoint.com/?eDqxgnGuUA

Merci encore pour ton aide
Peponne31


sur la ligne
Tri Tabl, 1, UBound(Tabl, 2)
à quoi correspond "Tri" ?

isabelle

Bonjour Isabelle,

Merci de bien vouloir m'aider, voici à quoi correspond delai et sauve:
Public Delai
Public Dossier
Public NbFicMax
Dim Nom
Public NextDate

Sub CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub

Sub Sauve()
Dim strDate As String
Count = Len(ActiveWorkbook.Name)
Nom = Left(ActiveWorkbook.Name, Count - 4)
strDate = Format(Date, "dd-mm-yy") & " " & Format(Date, "dd-mm-yy")
ThisWorkbook.SaveCopyAs Filename:=Dossier & Nom & strDate & ".xls"
DeleteEnTrop (Dossier)
CopieSauvegardeAuto
End Sub

Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer
bInfo.pidlRoot = 0&
If IsMissing(Msg) Then
bInfo.lpszTitle = "Choisissez un dossier de destination pour les sauvegardes."
Else
bInfo.lpszTitle = Msg
End If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
GetDirectory = Left(path, pos - 1)
Dossier = GetDirectory & ""
Else
GetDirectory = ""
End If
End Function


Sub ChoixDelai()
Delai = InputBox("Entrez sous la forme dd/mm/yy le délai souhaité entre deux
sauvegardes" _
& Chr(10) & "ex : 00/00/00 pour enregistrer toutes les 28 Jours", ,
"00/00/00")
End Sub

Sub ChoixNbSauvegardes()
NbFicMax = InputBox("Combien de sauvegardes voulez vous garder ?" _
& "seules les plus récentes sont conservées", , "4")
End Sub


Sub DeleteEnTrop(path)
Dim Fic As String
Dim Tabl() As Variant
Dim i As Integer

'Stocker les noms et les dates de sauvegarde des
'archives dans un tableau
ReDim Tabl(1, 0)
Fic = Dir(path)
Do While Fic <> ""
ReDim Preserve Tabl(1, UBound(Tabl, 2) + 1)
Tabl(0, UBound(Tabl, 2)) = Fic
Tabl(1, UBound(Tabl, 2)) = FileDateTime(path & Fic)
Fic = Dir
Loop

'S'il y a plus de fichiers que défini dans NbMax
'on trie le tableau des archives par date décroissante
'et on efface les premiers pour n'en laissser
'que le nombre choisi dans NbMax
If UBound(Tabl, 2) > NbFicMax Then
Tri Tabl, 1, UBound(Tabl, 2)
For i = UBound(Tabl, 2) To NbFicMax + 1 Step -1
Kill path & Tabl(0, i)
Next i
End If
End Sub
Ce n'est pas une nouveauté de Excel 2003, ce code date de 2002, il a été
réalisé par Flo Cabon, John Walkenbach, Iznogood et el-Joker.
Merci encore Peponne31



bonjour Peponne31,

à quoi correspond Delai et sauve ?

en passant je connais Application.OnTime mais pas Application.OnDate, est ce une nouveauté de xl2003 ?

isabelle



Bonjour,

J'ai recopié un module qui permet la sauvegarde automatique et lorsque je
le met en fonction il me retourne Erreur d'exécution '13' Incompatibilité de
type, voici la partie du code qui me cré se problème: Sub
CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub
Si quelqu'un veut bien aider un débutant, merci d'avance.
Je suis sur excel 2003.
Peponne31










Avatar
Misange
Bonjour Peponne

Le 29/04/2006 09:21, :

Sub CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub


Ce n'est pas une nouveauté de Excel 2003, ce code date de 2002, il a été
réalisé par Flo Cabon, John Walkenbach, Iznogood et el-Joker.
Merci encore Peponne31



Je ne sais pas où tu as été chercher ce code :
dans le classeur à télécharger (dans lequel tu es remerciée Isabelle !
:-) bisous au passage, ça faisait longtemps mon ange)
le code qui y figure et fonctionne est le suivant :

Sub CopieSauvegardeAuto()
NextTime = Now + TimeValue(Delai)
Application.OnTime NextTime, "sauve"
End Sub

donc la question d'Isabelle était la bonne : où as tu trouvé ondate au
lieu de ontime ?

Voilà qui devrait t'aider à régler la question !
Misange (alias Flo Cabon ;-)

Avatar
Peponne31
Bonsoir Misange,

Ce code je l'ai trouvé sur un cite mais je n'arrive pas à le retrouver, il a
un rapport avec une sauvegarde automatique mais basé sur le nombre de jours
et c'est bien OnDate, tout est basé dessus, j'ai bien retrouvé le mème code
basé sur OnTime mais pour moi, je voudrais sauvegarder toutes les semaines
selon le mème procédé.

Salutation
Peponne31


Bonjour Peponne

Le 29/04/2006 09:21, :

Sub CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub


Ce n'est pas une nouveauté de Excel 2003, ce code date de 2002, il a été
réalisé par Flo Cabon, John Walkenbach, Iznogood et el-Joker.
Merci encore Peponne31



Je ne sais pas où tu as été chercher ce code :
dans le classeur à télécharger (dans lequel tu es remerciée Isabelle !
:-) bisous au passage, ça faisait longtemps mon ange)
le code qui y figure et fonctionne est le suivant :

Sub CopieSauvegardeAuto()
NextTime = Now + TimeValue(Delai)
Application.OnTime NextTime, "sauve"
End Sub

donc la question d'Isabelle était la bonne : où as tu trouvé ondate au
lieu de ontime ?

Voilà qui devrait t'aider à régler la question !
Misange (alias Flo Cabon ;-)




Avatar
Misange
Ca m'intéresse ce que tu dis là : si tu trouves sur un autre site que
excelabo un classeur permettant la sauvegarde automatique avec ce code,
signé par ces auteurs c'est tout simplement du pillage sans mon accord
et celui des autres participants à ce classeur. Ce serait gentil que tu
retrouves le lien. Mais si en plus ces zozos ont modifié le code pour le
rendre inopérant, je m'en réjouis pas car ils nous font nous passer pour
des zozos. double vérifie comme disent les anglophones que ce n'est ni
excelabo ni ontime.
Le temps est une notion qui se contrefout de la semaine de la seconde ou
de ce que tu veux...
Tu peux sauvegarder toutes les semaines, il te suffit de compter combien
il y a d'heures dans une semaine et de rentrer cette valeur dans ton
compteur. Mais de ondate y a point ! tape ontime dans l'aide de VBA et
ondate et tu verras.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Le 29/04/2006 22:10, :
Bonsoir Misange,

Ce code je l'ai trouvé sur un cite mais je n'arrive pas à le retrouver, il a
un rapport avec une sauvegarde automatique mais basé sur le nombre de jours
et c'est bien OnDate, tout est basé dessus, j'ai bien retrouvé le mème code
basé sur OnTime mais pour moi, je voudrais sauvegarder toutes les semaines
selon le mème procédé.

Salutation
Peponne31



Bonjour Peponne

Le 29/04/2006 09:21, :


Sub CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub


Ce n'est pas une nouveauté de Excel 2003, ce code date de 2002, il a été
réalisé par Flo Cabon, John Walkenbach, Iznogood et el-Joker.
Merci encore Peponne31



Je ne sais pas où tu as été chercher ce code :
dans le classeur à télécharger (dans lequel tu es remerciée Isabelle !
:-) bisous au passage, ça faisait longtemps mon ange)
le code qui y figure et fonctionne est le suivant :

Sub CopieSauvegardeAuto()
NextTime = Now + TimeValue(Delai)
Application.OnTime NextTime, "sauve"
End Sub

donc la question d'Isabelle était la bonne : où as tu trouvé ondate au
lieu de ontime ?

Voilà qui devrait t'aider à régler la question !
Misange (alias Flo Cabon ;-)






Avatar
Peponne31
Bonsoir Misange

Je suis désolé mais je ne parviens pas à trouver le site ou j'ai recopié le
code mais il était en tout poins identique au votre mais tout était basé sur
un nombre de jours.
J'ai suivi ton conseil mais je ne parviens pas à sauvegarder au dela de 23 h
59mn.
Merci tout de mème je vais faire avec.
Salutations
Peponne31



Ca m'intéresse ce que tu dis là : si tu trouves sur un autre site que
excelabo un classeur permettant la sauvegarde automatique avec ce code,
signé par ces auteurs c'est tout simplement du pillage sans mon accord
et celui des autres participants à ce classeur. Ce serait gentil que tu
retrouves le lien. Mais si en plus ces zozos ont modifié le code pour le
rendre inopérant, je m'en réjouis pas car ils nous font nous passer pour
des zozos. double vérifie comme disent les anglophones que ce n'est ni
excelabo ni ontime.
Le temps est une notion qui se contrefout de la semaine de la seconde ou
de ce que tu veux...
Tu peux sauvegarder toutes les semaines, il te suffit de compter combien
il y a d'heures dans une semaine et de rentrer cette valeur dans ton
compteur. Mais de ondate y a point ! tape ontime dans l'aide de VBA et
ondate et tu verras.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Le 29/04/2006 22:10, :
Bonsoir Misange,

Ce code je l'ai trouvé sur un cite mais je n'arrive pas à le retrouver, il a
un rapport avec une sauvegarde automatique mais basé sur le nombre de jours
et c'est bien OnDate, tout est basé dessus, j'ai bien retrouvé le mème code
basé sur OnTime mais pour moi, je voudrais sauvegarder toutes les semaines
selon le mème procédé.

Salutation
Peponne31



Bonjour Peponne

Le 29/04/2006 09:21, :


Sub CopieSauvegardeAuto()
NextDate = Now + DateValue(Delai)
Application.OnDate NextDate, "sauve"
End Sub


Ce n'est pas une nouveauté de Excel 2003, ce code date de 2002, il a été
réalisé par Flo Cabon, John Walkenbach, Iznogood et el-Joker.
Merci encore Peponne31



Je ne sais pas où tu as été chercher ce code :
dans le classeur à télécharger (dans lequel tu es remerciée Isabelle !
:-) bisous au passage, ça faisait longtemps mon ange)
le code qui y figure et fonctionne est le suivant :

Sub CopieSauvegardeAuto()
NextTime = Now + TimeValue(Delai)
Application.OnTime NextTime, "sauve"
End Sub

donc la question d'Isabelle était la bonne : où as tu trouvé ondate au
lieu de ontime ?

Voilà qui devrait t'aider à régler la question !
Misange (alias Flo Cabon ;-)