Copier en fonction de la date ?

  • Initiateur de la discussion Initiateur de la discussion DJ FA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
731
Retour