Pb : Macro archivage et date du jour

Wazapala -  
 wazapala -
Bonjour à toutes et à tous,

J'ai un petit soucis sur mon fichier excel me servant à lister puis archiver mes tâches.

Une macro me permet de sélectionner une ligne depuis un tableau puis de la couper/coller sur une autre feuille appelée "archives".
Cette fonction marche trés bien cependant, j'aimerais que la macro inscrive en même temps la date du jour sur la même ligne, en colonne "E".

J'éspère être asser clair, voici la macro que j'ai réalisé, la partie en gras devrait mettre la date à l'endroit souhaité mais, rien ne se passe !


Private Sub Archiver_Click()
Application.ScreenUpdating = False
Dim derlig As Integer, pos As Integer
'Enlever protection
Worksheets("Archives").Unprotect "arch"
If ActiveCell.Column < 8 Then 'selection colonne A a G
'ligne de selection
pos = ActiveCell.Row
With Worksheets("Archives")
'premiere cellule vide colonne A
derlig = .Range("A" & Rows.Count).End(xlUp).Row + 1
'copie des donnees
Range("A" & pos & ":G" & pos).Copy .Range("A" & derlig)
'premiere cellule vide colonne E
derlig = .Range("E" & Rows.Count).End(xlUp).Row + 1
'Date d'archivage
Range("E" & pos & ":G" & pos).Value = Format(Now, "dd.m.yyyy")

End With
'suppression ligne
Rows(pos).Delete
End If
'Mettre protection
Worksheets("Archives").Protect "arch", True, True, True
Application.ScreenUpdating = True
End Sub


Merci d'avance à ceux qui pourront m'aider et bonne journée :-)

4 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

1° le second derlig me semble inutile c'est la même ligne en E qu'en A donc le premier suffit

2° la date ne peut pas etre mise dans une plage E:G et c'est la variable derlig qu'il y a lieu d'utilisier et non pos je présume ?
donc essaie ceci:

Range("E" & derlig).Value = Format(Now, "dd.m.yyyy")

Cdlmnt
1
Wazapala
 
Bonjour,
Tout d'abord, merci pour vos remarques pertinentes !
Ensuite, pour ce qui est de votre ligne de commande, cela ne marche toujours pas, rien ne s'affiche ...
Cordialement.
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
La ligne fonctionne j'ai vérifié

Par contre il faut soit indiquer la feuille ( et pas besoin du With)
Sheets("Archives").range("E" & derlig).Value = Format(Now, "dd.m.yyyy")

soit pour que With fonctionne bien mettre le . avant range
.range("E" & derlig).Value = Format(Now, "dd.m.yyyy")

Le with est utile pour éviter de répéter le nom de la feuille si beaucoup d'instructions s'appliquent en suivant à la feuille, s'il n'y en a qu'une ou deux on peut s'en passer

Cdlmnt
0
wazapala
 
C'est tout bon, avec le point, ça marche parfaitement !!
Merci beaucoup pour votre aide et bonne journée !
Cordialement.
0