Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Mise à jour automatique d'une date suivant modification d'une cellule sur la ligne

Chebe

XLDnaute Nouveau
Bonjour le Forum

J’ai un tableau avec sur chaque ligne une date de mise à jour
Je souhaiterais qu’à chaque modification d’une cellule (Valeur numérique ou modification de texte) sur une ligne, la cellule date prenne la valeur du jour automatiquement.

Exemple, je rentre un nombre ou je le modifie dans la cellule A1
La date dans la cellule F1 passe à la date d’aujourd’hui.
Idem si je rentre du texte ou je le modifie en B1

Cependant, cette mise à jour devrait dans certains cas être gelée
Il faudrait un genre de bouton On/Off
Pour que dans ce cas, je puisse faire des modifications sans qu'il y ait une mise à jour des dates respectives.

Je joins un exemple (Je suis sous 2007)
Est ce que tout cela pourrait être possible ?

Merci pour votre aide
 

Pièces jointes

  • Exemple MAJ Automatique.xlsx
    9.1 KB · Affichages: 167

Chebe

XLDnaute Nouveau
Re : Mise à jour automatique d'une date suivant modification d'une cellule sur la lig

Bonjour Paf

Merci pour ces explications très détaillés et très claires
Cela me permet maintenant de comprendre la macro
En outre, je vois les différences entre les 2 techniques
Les avantages et aussi les moins.

Il y a cependant une dernière chose que je n'arrive pas à trouver dans la 1ère version
Quel code dans la macro, fait que la MAJ de la date soit possible que à partir du moment qu'il y ait une cellule pleine dans la Colonne A sur une ligne

Je veux dire, que si je rentre une donnée en B10 alors que A10 est vide, il ne se passe rien

A+
 

Paf

XLDnaute Barbatruc
Re : Mise à jour automatique d'une date suivant modification d'une cellule sur la lig

Re bonjour,

en supposant que les données vont jusqu'en ligne 10,dans le premier code DerL = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row nous donne la dernière ligne de la colonne A (soit 10)

Si l'on commence à saisir une nouvelle ligne (ligne 11), en colonne B, la macro se déclenche , détermine la dernière ligne de donnée de la colonne A ( et trouve ...10)

Puis la macro poursuit par If Not Intersect(Target, Range("A2:E" & DerL)) Is Nothing Then pour vérifier que l'on modifie une cellule de la plage déterminée ( dans cet exemple A2:E10). Comme la cellule ne fait pas partie de la plage (on faisait une saisie en B11 ) on n'exécute pas le reste du code .

Pour pouvoir saisir en A sur la première ligne (et mettre à jour la date automatiquement) une solution consiste à augmenter la plage d'une ligne:
DerL = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1


le souci de ne pas mettre à jour la date automatiquement en ne saisissant pas en colonne A serait reporté à la deuxième ligne vide (sous les données).

A+
 

Chebe

XLDnaute Nouveau
Re : Mise à jour automatique d'une date suivant modification d'une cellule sur la lig

Bonjour

Merci pour ces nouvelles explications très claires
J'ai à présent bien compris le principe
Et en plus cela m'a permis d'avancer en VBA

Bonne journée
A+
 

malcomhs

XLDnaute Nouveau

Bonjour , Pouvez-vous me dire le code à modifier dans votre formule svp dans mon cas c'est que si une donné change dans la colonne AC;AD ou AE la date s'affiche dans la colonne AF comment puije faire ?
 

malcomhs

XLDnaute Nouveau

Bonjour , Pouvez-vous me dire le code à modifier dans votre formule svp dans mon cas c'est que si une donné change dans la colonne AC;AD ou AE la date s'affiche dans la colonne AF comment puije faire ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…