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