pb macro "object doesn't support this action" copier une feuille du fichier

lydiiee

XLDnaute Junior
Bonsoir le forum

Je souhaiterai qu'a l'ouverture de mon fichier, la macro recherche si un fichier avec le meme nom que celui-ci + l"année et le mois existe déjà, si non, qu'elle enregistre le contenu de la feuille "Stats_FSHO" sur un fichier avec le meme nom + l'année et le mois de la sauvegarde, puis efface le contenu de la feuille "stats_FSHO" afin qu'elle redevienne vierge.

Grace à mes recherches sur Internet et ce forum, je suis arrivée au code suivant :

Private Sub Workbook_Open()
Dim NomFichier As String
Dim Chemin As String

Chemin = ThisWorkbook.Path
NomFichier = ThisWorkbook.Name & "_" & CStr(Year(Date)) & "_" & CStr(Month(Date))

'recherche si un fichier à ce nom existe
With Application.FileSearch 'il me dit "object doesn't support this action"
.LookIn = Chemin
.Filename = NomFichier & ".xls"
If .Execute() > 0 Then
GoTo fin
Else

ThisWorkbook.Sheets("stats_FSHO").SaveAs Chemin & NomFichier & ".xls"
Sheets("stats_FSHO").Range("A2:F45000").Delete
Sheets("stats_FSHO").Range("H2:H45000").Delete

End If
End With

fin:

End Sub

cependant Excel me dit que mon code "application.filesearch" = "object doesn"t support this action"...

Qualqu'un peut il m'aider svp?

Merci encore!
 

job75

XLDnaute Barbatruc
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Bonsoir lydiie,

Il faut savoir que l'utilisation de FileSearch n'est possible que jusqu'à Excel 2003.

Pour Excel 2007 et suivantes il faut utiliser d'autres méthodes, cherchez sur le forum.

A+
 

laurent950

XLDnaute Accro
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Bonsoir,

Un complment FileSearch pour Excel 2007

Il faut desactivé le trie qui est pas top sur un grand nombre de caractéres. et adapter cette macro

Vous me dite si vous arriver a la faire fonctionné :

D'autre part ayant regarger il n'y a pas un autre moyen de passer par une variable tableau depuis un module de classe avec un tableau "type"

Ps : est un simple exemple "Pas si simple qand même"

laurent
 

Staple1600

XLDnaute Barbatruc
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Bonjour à tous


D'accord avec les deux précédents intervenants dans le fil.

Pour ma part, je trouve les deux lignes ci-dessous peu orthodoxes non ?
Sheets("stats_FSHO").Range("A2:F45000").Delete
Sheets("stats_FSHO").Range("H2:H45000").Delete

Je verrai plus volontiers ceci, non ?
Sheets("stats_FSHO").Range("A2:F45000,H2:H45000").Clear
ou selon les besoins
Sheets("stats_FSHO").Range("A2:F45000,H2:H45000").ClearContents
 

lydiiee

XLDnaute Junior
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Bonjour à tous,

Voici apres recherches mon nouveau code (Laurent : je n'ai pas réussi à trouver dans mon Excel l'option qu'ils disent d'activer, du coup j'ai recherché sur une autre piste):

Private Sub Workbook_Open()

Dim Rech, Chemin, NomFichier, FichierExiste
Dim NewFichier As Workbook

NewFichier = Chemin & NomFichier

Set Rech = CreateObject("Scripting.FileSystemObject")

Chemin = "U:\missionBPUS\Macros\sauvegarde stats test\"
NomFichier = "stats_FSHO" & "_" & Format(Now, "yyyy-mm")
FichierExiste = IIf(Rech.FileExists(NomFichier & ".xls"), True, False)

If FichierExiste = True Then
Application.Quit
End If

Workbooks.Add
ChDir Chemin
ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, FileFormat:=xlNormal
Range("A1").Select
ThisWorkbook.Sheets("stats_FSHO").Copy
NewFichier.Activate
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
Sheets("stats_FSHO").Range("A2:F45000").ClearContent
Sheets("stats_FSHO").Range("H2:H45000").ClearContent
End Sub

Mon probleme est qu'il arrive bien à me créer mon nouveau classeur au bon endroit mais il n'arrive pas à me copier les données de la feuille "stats_FSHO"", je pense cela vient de la mauvaise dénomination du nouveau fichier créé... il ne le reconnait pas

Mon deuxieme probleme est lorsque le classeur que je lui demande de créer existe déjà il affiche un message en me disant que le fichier existe déjà et si je veux le remplacer... je souhaiterai que ce message ne s'affiche pas pour ne pas écraser par erreur les données si l'utilisateur clique oui... et d'ailleurs lorsque l'on clique sur "non" il beug...


Merci d'avance pour votre aide!!
 

lydiiee

XLDnaute Junior
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Bonsoir JM

Oui c'est exact! lol mais je reste avec mon meme probleme car actuellement la macro ne va pas au bout à cause de ma ligne "NewFichier.Activate" car ma dénomination du nouveau fichier créé ne marche pas...

Avez vous une solution pour que ma macro reconnaisse mon nouveau fichier créé?

Merci encore!!
 

Staple1600

XLDnaute Barbatruc
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Re

Si tu écris
Dim NewFichier As WorkBook
Alors il faudra trouver par la suite dans ton code
Set NewFichier =' ton code

Voici un exemple
Code:
Sub exemple()
Dim NewFichier As Workbook
Set NewFichier = Workbooks.Add(xlWBATWorksheet)
MsgBox NewFichier.FullName
End Sub
 
Dernière édition:

lydiiee

XLDnaute Junior
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Re,

En fait il me créé mon fichier "stats_FSHO_date" mais copie les données de mon fichier d'origine sur un autre classeur qu'il me créé et nommé book2. Il me créé donc 2 classeurs : "book2" dans lequel il me copie les données et un classeur "stats_FSHO_date" mais vide
je n'arrive pas à copier sur mon nouveau fichier créé que je lui ai demandé de nommer "stats_FSHO_date"
J'ai voulu tester set newfichier=ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, FileFormat:=xlNormal
mais il ne l'accepte pas

merci encore pour ton aide
 

lydiiee

XLDnaute Junior
Re : pb macro "object doesn't support this action" copier une feuille du fichier

re

J'ai également testé :
Set NewFichier = Workbooks.Add(xlWBATWorksheet)
ChDir Chemin
NewFichier.SaveAs Filename:=Chemin & NomFichier, FileFormat:=xlNormal

ThisWorkbook.Sheets("stats_FSHO").Copy
NewFichier.Activate
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWorkbook.Close
 

Staple1600

XLDnaute Barbatruc
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Re

Je viens de relire ton post posément
Testes cette macro sur un classeur vierge (puis adaptes-la avec tes vrais noms)
Cela semble être ce que tu souhaites, non ?

Ensuite, il te suffit de mettre le code dans une procédure WorkBook_Open()
(Je viens de tester et c'est OK pour moi, j'ai bien un fichier qui se crée avec le nom voulu ;) dans le dossier voulu)
VB:
'Je souhaiterai qu'a l'ouverture de mon fichier, la macro recherche
'si un fichier avec le meme nom que celui-ci + l"année et le mois existe déjà,
'si non, qu 'elle enregistre le contenu de la feuille "Stats_FSHO"
'sur un fichier avec le meme nom + l'année et le mois de la sauvegarde,
'puis efface le contenu de la feuille "stats_FSHO" afin qu'elle redevienne vierge.
Sub test()
Dim Rech
Dim Chemin$, NomFichier$, FichierExiste As Boolean
Dim NewFichier As Workbook, ClasseurActif As Workbook
Set ClasseurActif = ThisWorkbook
Set Rech = CreateObject("Scripting.FileSystemObject")
Chemin = "C:\TEMP\"
NomFichier = "test" & "_" & Format(Now, "yyyy-mm") & ".xls"
FichierExiste = IIf(Rech.FileExists(Chemin & NomFichier), True, False)
If Not FichierExiste Then
ClasseurActif.Sheets(1).Copy
Set NewFichier = ActiveWorkbook
NewFichier.SaveAs Chemin & NomFichier
NewFichier.Close True
ClasseurActif.Sheets(1).Range("A2:F45,H2:H45").ClearContents
End If
End Sub

PS: Tu vois l'avantage de joindre un fichier exemple créée par le demandeur dans un fil de discussion
 
Dernière édition:

lydiiee

XLDnaute Junior
Re : pb macro "object doesn't support this action" copier une feuille du fichier

Re

C'est juste parfait...! Par contre il copie aussi la macro associé a la feuille copiée, y a t-il un moyen de ne copier que les valeurs et la mise en forme et pas les macros?

Un grand merci tu m'a enlevé une grosse épine du pied!
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 973
Membres
103 073
dernier inscrit
MSCHOE16