Copier en fonction de la date ?

DJ FA

XLDnaute Occasionnel
Bonjour, je souhaiterais une macro qui puisse me coller les valeurs de la feuille2 vers la feuille 1 (saisie journalière) et inscrivant en même temps la date du jour.
Vous trouverez un fichier ci-joint, merci. :)
 

Pièces jointes

  • Classeur1C.xls
    63 KB · Affichages: 58
  • Classeur1C.xls
    63 KB · Affichages: 55
  • Classeur1C.xls
    63 KB · Affichages: 52

Robert

XLDnaute Barbatruc
Repose en paix
Re : Copier en fonction de la date ?

Bonjour DJ FA, bonjour le forum,

En pièce jointe ton fichier modifié. J'ai utilisé deux macros pour parvenir à tes fins... La macro événementielle Change place un commentaire (un espace) chaque fois que tu édites une nouvelle cellule dans la colonne A de l'onglet Feuil2.
Code :
Code:
Option Explicit 'oblige à déclarer toutesles variables
 
Private Sub Worksheet_Change(ByVal Target As Range) 'à l'édition dans une cellule
If Selection.Cells.Count > 1 Then Exit Sub 'si le nombre de cellules sélectionnée est supérieur à 1, sort de la procédure
If Target.Column > 1 Or Target.Value = "" Then Exit Sub 'si la changement a lieu ailleurs que dans la colonne 1 ou si la cellule est effacée, sort de la procédure
Target.AddComment (" ") 'ajoute un commentaire (un espace)
Target.Comment.Visible = False 'masque le commentaire
End Sub
Ensuite, le bouton Copie ne copie vers l'onglet Feuil1 que les lignes dont la cellule de la colonne A contient un commentaire. Puis le commentaire est supprimé dans l'original et dans la copie.
le code :
Code:
Private Sub CommandButton1_Click() 'bouton "Copie"
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
ActiveCell.Select 'enlève le focus au bouton
Set pl = Range("A1:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row) 'definit la plage pl (cellules éditées de la colonne A)
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
    On Error Resume Next 'gestion des erreurs, si une erreur est générée passe à la ligne suivante
    Debug.Print cel.Comment.Text 'écrit le commentaire dans la fenêtre d'exécution (VBE), génère une erreur si la cellule ne contient pas de commentaire
    If Err > 0 Then Err = 0: GoTo suite 'su une errur est générée, supprime l'erreur, va à l''etiquette suite
    With Sheets("Feuil1") 'prend en compte l'onglet Feuil1"
        Set dest = IIf(.Range("A1") = "", .Range("A1"), .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)) 'définit la cellule de destination
    End With 'fin de la prise en compte de l'onglet "Feuil1"
    Rows(cel.Row).Copy dest 'copy la ligne de cel dans dest
    dest.ClearComments 'supprime le commentaire dans la cellule copiée
    dest.Offset(0, 1).Value = Format(Date, "dd/mm/yyyy") 'place la date dans la colonne B de l'onglet "Feuil1" (à adapter...)
    cel.ClearComments 'supprime le commentaire dans la cellule
suite: 'étiquette
Next cel 'prochaine cellule de la boucle
End Sub
Tu rajoutes donc tes données dans l'onglet Feuil2 et tu cliques sur Copie. Cela copie les nouvelles données dans l'onglet Feuil1 en mettant la date dans la colonne B. Tu recommences, etc.
Le fichier :
 

Pièces jointes

  • DJ FA_V01.xls
    64 KB · Affichages: 40

Robert

XLDnaute Barbatruc
Repose en paix
Re : Copier en fonction de la date ?

Bonsoir DJ FA, bonsoir le forum,

Une expression me vient à l'esprit : " Hé, ça t'arracherait la gu... de dire merci !!!! "
Après avoir pris la peine de regarder ton problème, de proposer une solution, de la commenter pour te permettre de la comprendre et d'enventuellement de la modifier, j'ai quand même pas été aussi con de ne pas le tester. Et je peux t'assurer qu'elle fonctionne...

p.s. Salut Pascal ça faisait longtemps que je ne t'avais pas donné du travail hein...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Copier en fonction de la date ?

Bonsoir DJ FA, bonsoir lr forum,

Arrête un peu tes co...ries et aussi de me prendre pour mon avatar. Essaie plutôt d'exposer clairement ton problème et d'être un peu plus aimable.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz