seveneven
Messages postés3Date d'inscriptionmardi 3 juillet 2007StatutMembreDernière intervention 5 juillet 2007
-
3 juil. 2007 à 12:55
seveneven
Messages postés3Date d'inscriptionmardi 3 juillet 2007StatutMembreDernière intervention 5 juillet 2007
-
5 juil. 2007 à 17:53
Bonjour, je dois developper un programme dans le cadre d'un stage. J'ai un fichier source qui va chercher des infos dans un automate. IL y a donc des liens dans certaines cellules. Je dois faire un programme qui doit l'enregistrer sous la date de la veille. Là j'ai développé mais quand il copie les feuilles, il garde les liens alors que je voudrais qu'il copie uniquement les valeurs présentes dans les cellules au moment ou j'enregistre. Quelqu'un peut m'aider?
Je vous met mon code:
Private Sub Workbook_Open()
' Macro1 Macro
' Macro enregistrée le 27/06/2007 par ******
'
'
With ActiveWorkbook
If ActiveWorkbook.Name = "test2.xls" Then 'pas obligatoire
Dim monfichier As String 'Pour enregistrer sous un autre nom
Dim debut As Long 'variables pour la tempo
Dim fin As Long
'je ne veux pas voir la fenêtre de rappatriement au démarrage mais le rappatriement se fait seul
Application.AskToUpdateLinks = False
'tempo de 10 secondes le temps de prendre les données
debut = Timer
fin = 10 'secondes
Do While Timer < debut + fin
DoEvents 'pour rendre la main au systeme
Loop
'copie des feuilles
Workbooks("test2.xls").Worksheets(Array("Feuil1", "Feuil2")).Copy
'j'aimerais que l'instruction ci-dessus ne garde que les valeurs et non les liens vers l'automate
'enregistrement sous la date de la veille
monfichier = Day(Date - 1) & "_" & Month(Date - 1) & "_" & Year(Date - 1)
ActiveWorkbook.SaveAs "*****" & monfichier & ".Xls"
'fermeture du nouveau workbook
ActiveWorkbook.Close
'fermeture de l'ancien workbook sans sauvegarder
ActiveWorkbook.Close savechanges:=False
'fermeture d'excel
Application.Quit 'ne fonctionne pas
seveneven
Messages postés3Date d'inscriptionmardi 3 juillet 2007StatutMembreDernière intervention 5 juillet 2007 4 juil. 2007 à 12:56
En fait la commande Workbooks("test2.xls").Worksheets(Array("Feuil1", "Feuil2")).Copy sert à copier et coller dans un nouveau classeur mais elle conserve les liens. J'ai planché sur une autre solution, ça à l'air de marcher sous office 2000 mais pas sous le 2003...
Sous office 2003 il plante au niveau de Selection.PasteSpecial Paste:=xlFormats avec un problème de "range" (erreur 1004). Une info qui n'est pas dans ce code, il y a une ligne en + qui dit de créer le fichier avec 2 feuilles car à la base il n'en crée qu'une et ça me faisait une erreur mais j'ai pas la derniere version du code ici.