Afficher la date lorsqu'une cellule est remplie

  • Initiateur de la discussion Initiateur de la discussion 6xela
  • 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 !

6

6xela

Guest
Bonjour,

Je souhaite que dans ma feuille la date s'affiche automatiquement dans la ligne A lorsque la ligne D est remplie (Date du premier remplissage et donc non remis à jour à chaque changement de la feuille)...

J'ai fait ce code là mais il ne fonctionne pas :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim DL1 As Long, i As Long
Sheets("Vente").Select
DL1 = Range("A65000").End(xlUp).Row
Range("A2:A" & DL1).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess
For i = DL1 To 3 Step -1
If Cells(i, 4) <> "" Then
If Cells(i, 1) = "" Then
Cells(i, 1) = Date
End If
End If
Next

End Sub

Quelqu'un peut il me donner un coup de main?
 
Re : Afficher la date lorsqu'une cellule est remplie

bonjour 6xela
Sheets("Vente").Select est supprimé,mis une rmq pour le tri

Private Sub Worksheet_Change(ByVal Target As Range)
Dim DL1 As Long, i As Long

DL1 = Range("A65000").End(xlUp).Row
'si ligne avec entête est 2-écrire---------3,si 1,2
Range("A2:A" & DL1).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess
For i = DL1 To 3 Step -1
If Cells(i, 4) <> "" Then
If Cells(i, 1) = "" Then
Cells(i, 1) =cdate(Date)
End If
End If
Next

End Sub

à bientôt
 
Re : Afficher la date lorsqu'une cellule est remplie

bonjour 6xela
excuse,la boucle est mauvaise
met un bout de fichier,à mon avis pas besoin de boucles
Sheets("Vente").Select est supprimé,mis une rmq pour le tri

Private Sub Worksheet_Change(ByVal Target As Range)
Dim DL1 As Long, i As Long

DL1 = Range("A65000").End(xlUp).Row
'si ligne avec entête est 2-écrire---------3,si 1,2
Range("A2:A" & DL1).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess
For i = 3 To DL1
If Cells(i, 4) <> "" Then
If Cells(i, 1) = "" Then
Cells(i, 1) =cdate(Date)
End If
End If
Next

End Sub

à bientôt
 
Re : Afficher la date lorsqu'une cellule est remplie

Bonjour à tous,

Peux-tu essayer avec :

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel
  For Each Cel In Target
    With Cel
      If .Column = 1 Then If Cells(Cel.Row, 1) <> "" And IsEmpty(Cells(Cel.Row, 4)) Then Cells(Cel.Row, 4) = Date
    End With
  Next Cel
End Sub
Il sera surement nécessaire de remplacer les 1 par les 4

A+ à tous
 
Re : Afficher la date lorsqu'une cellule est remplie

Bonjour à tous,

J'ai édité mon message.

Lance un débogage : tu as plusieurs codes qui ont un double End Sub

Que tu mettes line ou Cel : c'est pareil...

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel
  For Each Cel In Target
    With Cel
      If .Column = 4 Then If Cells(Cel.Row, 4) <> "" And IsEmpty(Cells(Cel.Row, 1)) Then Cells(Cel.Row, 1) = Date
    End With
  Next Cel
End Sub
A+ à tous

Edition : Merci de renseigner ta version XL dans ton Profil
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
791
Réponses
5
Affichages
915
Réponses
2
Affichages
257
Retour