Table des matières
Cet article illustre la façon d'horodater dans Excel lorsqu'une cellule change. Vous pouvez avoir besoin de garder une trace des entrées de données dans les cellules d'une colonne particulière. Par exemple, vous avez réservé la colonne B pour entrer des données. Maintenant, vous voulez l'horodatage dans une cellule adjacente dans la colonne C quand une cellule est mise à jour dans la colonne B. Cet article vous aidera à le faire de 2 façons efficaces.
Télécharger le cahier d'exercices
Vous pouvez télécharger le cahier d'exercices à partir du bouton de téléchargement ci-dessous.
Horodatage dans Excel.xlsm2 façons d'insérer un horodatage dans Excel lorsque la cellule change
Utilisez les fonctions IF, AND, NOW et autres pour insérer un horodatage dans Excel.
Suivez les étapes ci-dessous pour obtenir un horodatage à l'aide de formules lorsqu'une cellule change.
📌 Étapes
- Première presse ALT+F+T pour ouvrir Options Excel Ensuite, allez à la Formules Ensuite, vérifiez l'onglet Activer le calcul itératif Ensuite, définissez la case à cocher Itérations maximales sur 1. Après cela, cliquez sur OK.
- Maintenant, entrez la formule suivante dans la cellule C5 Puis, faites glisser le Poignée de remplissage pour copier la formule dans les cellules ci-dessous.
=IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))
- Ensuite, saisissez la formule suivante dans la cellule D5 Ensuite, faites glisser le Poignée de remplissage aux cellules ci-dessous comme précédemment.
=IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))
- Maintenant, commencez à entrer des valeurs dans les cellules de colonne B Après cela, vous obtiendrez le résultat suivant. Ici, colonne D est une colonne d'aide. Vous pouvez la masquer en faisant un clic droit après avoir sélectionné la colonne.
- Alternativement, vous pouvez simplement entrer la formule suivante dans la cellule C5 pour obtenir le même résultat.
=IF(B5"",IF(C5="",NOW(),C5),"")
- Vous devrez peut-être modifier le formatage des cellules dans colonne C Sélectionnez la colonne en cliquant sur le numéro de la colonne en haut, puis appuyez sur CTRL+1 pour ouvrir le Formatage des cellules Cliquez maintenant sur le bouton Personnalisé Ensuite, entrez j-mmm-yyyy hh:mm:ss AM/PM dans le Type Enfin, cliquez sur OK.
Répartition des formules :
Formule dans la cellule C5 :
➤ IF(B5="","",C5))
Le site Fonction IF ne renvoie rien si la cellule B5 est vide, sinon, il renvoie la même valeur que celle stockée dans le fichier C5 .
➤ NOW()
Le site Fonction NOW renvoie la date et l'heure actuelles.
➤ ET(B5"",D5B5)
Le site Fonction ET renvoie à VRAI si les deux arguments sont vrais, c'est-à-dire la cellule B5 n'est pas vide et cellules B5 et D5 n'ont pas la même valeur.
➤ IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))
Si le Fonction ET renvoie à VRAI alors le Fonction IF renvoie la date et l'heure actuelles obtenues à partir de la base de données Fonction NOW Sinon, il renvoie le résultat obtenu à partir de l'argument contenant le nom de l'utilisateur. Fonction IF .
Formule dans la cellule D5 :
➤ ISNUMBER(D5)
Le site Fonction ISNUMBER renvoie à VRAI si la cellule D5 contient un nombre, sinon, il renvoie Faux .
➤ AND(ISNUMBER(D5),B5=D5)
Le site Fonction ET renvoie à VRAI si la cellule D5 contient un numéro et des cellules B5 et D5 ont la même valeur. Il renvoie FAUX autrement.
➤ OR(C5="",AND(ISNUMBER(D5),B5=D5))
Le site Fonction OR renvoie à VRAI si l'un des arguments est vrai, c'est-à-dire la cellule C5 est vide ou le Fonction ET renvoie à VRAI Il retourne FAUX si tous les arguments sont faux.
➤ IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)
Le site Fonction IF renvoie la même valeur que celle stockée dans la cellule D5 si le Fonction OR renvoie à VRAI Sinon, il renvoie la valeur de la cellule B5 .
➤ IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)))
Le site Fonction IF ne renvoie rien si la cellule B5 est vide. Sinon, elle renvoie le résultat obtenu à partir de l'argument contenant l'argument Fonction IF .
Lire la suite : Comment insérer un horodatage dans Excel lors d'une modification de cellule sans VBA (3 façons)
Lectures similaires
- Comment insérer une date statique dans Excel (4 méthodes simples)
- Excel VBA : insérer un horodatage lors de l'exécution d'une macro
- Comment insérer un horodateur Excel lorsque les cellules d'une rangée sont modifiées ?
- Convertir un horodatage Unix en date dans Excel (3 méthodes)
Appliquer le code VBA pour insérer un horodatage dans Excel lorsque la cellule change
Vous pouvez également obtenir un horodatage dans Excel lorsqu'une cellule est modifiée en utilisant VBA. Suivez les étapes ci-dessous pour pouvoir le faire.
📌 Étapes
- Tout d'abord, cliquez avec le bouton droit de la souris sur l'onglet de la feuille de calcul cible, puis sélectionnez Afficher le code Cela ouvrira le module de code pour cette feuille de calcul particulière.
- Ensuite, copiez le code suivant en utilisant le bouton de copie dans le coin supérieur droit.
Private Sub Worksheet_Change(ByVal Target As Range) Dim CellCol, TimeCol, Row, Col As Integer Dim DpRng, Rng As Range CellCol = 2 TimeCol = 3 Row = Target.Row Col = Target.Column If Row <= 4 Then Exit Sub Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM") If Target.Text "" Then If Col = CellCol Then Cells(Row, TimeCol) = Timestamp Else On Error Resume Next Set DpRng = Target.Dependents ForEach Rng In DpRng If Rng.Column = CellCol Then Cells(Rng.Row, TimeCol) = Timestamp End If Next End If End Sub
- Après cela, collez le code copié sur le module vide comme indiqué ci-dessous.
- Ensuite, enregistrez le document en tant que classeur activé par macro Maintenant, commencez à saisir des données dans les cellules de la colonne B. Vous obtiendrez alors les mêmes résultats que précédemment.
Explication du code VBA :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellCol, TimeCol, Row, Col As Integer
Dim DpRng, Rng As Range
Déclarer les variables nécessaires.
CellCol = 2
Colonne de saisie des données.
TimeCol = 3
Colonne d'horodatage.
Row = Target.Row
Col = Target.Column
Mémorisation des numéros de ligne et de colonne de la cellule sélectionnée.
Si Row <= 4 Then Exit Sub
Tout changement dans les 4 premières lignes ne créera pas d'horodatage.
Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM")
L'horodatage sera formaté de cette façon, modifiez-le si nécessaire.
Si Target.Text "" Alors
Si Col = CellCol Alors
Cells(Row, TimeCol) = Timestamp
Crée un horodatage si la cellule sélectionnée est vide.
En cas d'erreur, reprendre la suite
Ignore toute erreur si elle se produit.
Set DpRng = Target.Dependents
Pour chaque Rng dans DpRng
Si Rng.Column = CellCol alors
Cells(Rng.Row, TimeCol) = Timestamp
Créez des horodatages pour une plage de cellules si elle n'est pas vide.
Lire la suite : Comment insérer automatiquement des entrées de données horodatées dans Excel (5 méthodes)
Les choses à retenir
- Vous devez utiliser un format personnalisé pour les cellules de la colonne B afin d'obtenir un horodatage correctement formaté.
- La formule alternative ne fonctionne que lorsque des données sont saisies dans des cellules vides.
- Ici, la saisie des données et la colonne d'horodatage sont codées en dur dans le code VBA. Vous devez modifier le code en fonction de votre jeu de données.
Conclusion
Vous savez maintenant comment horodater dans Excel lorsqu'une cellule change. Vous avez d'autres questions ou suggestions ? Veuillez utiliser la section des commentaires ci-dessous pour cela. Vous pouvez également visiter notre ExcelWIKI Restez avec nous et continuez à apprendre.