modifications d'une macro

bbloup47

XLDnaute Junior
Bonjour le forum,

un ami XLD m'a fait dernièrement une macro servant à faire des sauvegardes. Par contre nous ne sommes pas parvenus à régler le format date. Je fais donc appel à votre aide car j'ai beau essayer ça ne fonctionne pas! Il y a aussi que j'aimerais que le fichier de sauvegarde s'ouvre automatiquement et ça aussi je n'y arrive pas...mon niveau VBA est nul.

merci de votre aide et @+

bbloup
 

Pièces jointes

  • sauvegarde et historique.zip
    38.7 KB · Affichages: 16
  • sauvegarde et historique.zip
    38.7 KB · Affichages: 24
  • sauvegarde et historique.zip
    38.7 KB · Affichages: 23

Habitude

XLDnaute Accro
Re : modifications d'une macro

Remplace ta fonction par ceci et essaie

Code:
Private Sub CommandButton1_Click()
Dim o As Workbook 'déclare la variable o (classeur Origine)
Dim c As Workbook 'déclare la variable c (classeur Cible)
Dim oo As Worksheet 'déclare la variable oo (Onglet Origine)
Dim oc As Worksheet 'déclare la variable oc (Onglet Cible)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dc As String 'déclare la variable dc (Dernière Colonne)
Dim mois As Byte 'déclare la variable mois (mois de la date)
Dim dest As Range 'déclare la variable dest (DESTination)

Set o = Workbooks("prix des légumes.xls") 'définit le classeur Origine
Set c = Workbooks("sauvegarde et historique des prix.xls") 'définit le classeur Cible
Set oo = o.Sheets("légumes") 'définit l'onglet Origine
Set oc = c.Sheets("Feuil1") 'définit l'onglet Cible
dc = oc.Range("IV1").End(xlToLeft).Address 'définit la dernière colonne utilisée
mois = Month(Date) 'définit le mois

For Each cel In oc.Range("C1:" & dc) 'boucle sur toutes les cellules éditées cel de la ligne 1 de l'onglet Cible du classeur Cible
    If Month(CDate(cel.Value)) = mois Then  'condition : si le mois de la date de la cellule correpond au mois de la date en cours
        MsgBox "Copie déjà éffectuée pour ce mois !" 'message
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle

oc.Range(dc).Offset(0, 1).Value = mois & "/02/2010" 'place la date dans la première cellule vide rencontrée
Set dest = oc.Range(dc).Offset(1, 1) 'définit la cellule de destination
oo.Range("C2:C" & oo.Range("C65536").End(xlUp).Row).Copy dest 'copie et colle les prix sans la cellule de destination

End Sub
 

bbloup47

XLDnaute Junior
Re : modifications d'une macro

Merci beaucoup Habitude

le format est très bon maintenant. Serait possible que ce soit la date du jour au lieu du 2 de chaque mois? et que le fichier cible s'ouvre automatiquement?

merci beaucoup pour votre aide c'est vraiment apprécié.

bbloup @+
 

bbloup47

XLDnaute Junior
Re : modifications d'une macro

bonjour à tous,

Serait possible que ce soit la date du jour au lieu du 2 de chaque mois? et que le fichier cible s'ouvre automatiquement?

merci beaucoup pour votre aide c'est vraiment apprécié.

bbloup @+
 

JNP

XLDnaute Barbatruc
Re : modifications d'une macro

Bonsoir le fil :),
Pour la date du jour, essaie de remplacer
Code:
mois & "/02/2010"
par
Code:
Format(Now(), "mm/dd/yyyy")
et pour l'ouverture de la cible
Code:
o.Open
à la fin du code devrait le faire.
Bonne soirée :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 859
Messages
2 092 884
Membres
105 549
dernier inscrit
LauraInfot