Modifier un code VBA

riton00

XLDnaute Impliqué
Bonsoir à tous

Ci-joint un code que j'ai récupérer qui permet de m'indiquer dans la cellule A1 la dernière modification effectué par le moyen d'une date avec l'heure de tous textes ou de chiffres effectué dans la plage A10:p100 par contre il ne prend pas en compte les ajouts de ligne de colonnes ou retraits, changement de couleur dans du texte ni les couleurs dans les cellule etc…
Y a-t-il moyen de modifier ce code pour obtenir le maximun de ces fonctions.

Merci

Option Explicit
Const celv = "A10:Z100"

Const celd = "A1"
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(celv)) Is Nothing Then
If Target.Value <> "" Then Range(celd).Value = Now
End If
End Sub

Slts
 

riton00

XLDnaute Impliqué
Bonjour cp4, le forum

Merci pour pour cet essai mais.... non concluant puisque j'ai une erreur de compilation, "constante requise"


181221074432103435.jpg


Slts
 

riton00

XLDnaute Impliqué
Désolé....! Bien que dans le fichier joint ne figure que la macro qui est fonctionnelle,
mais qu'en lisant le petit énoncé joint avec le fichier il est peut-être suffisant pour comprendre ce que je voudrais obtenir.
au cas ou, si toujours pas de compréhension faite-le moi savoir

Merci
 

Pièces jointes

  • Affiche la dernière modif.xlsm
    16 KB · Affichages: 21

riton00

XLDnaute Impliqué
Bonsoir,
Désolé pour le retour tardif, après essais, cela ne fonctionne toujours pas lors de changement de couleur de police ni d'ajout de couleur dans cellule et lors d'une insertion de ligne ou colonne j'ai une erreur d'exécution 13
 

laurent950

XLDnaute Accro
Bonsoir

lien utile : https://excel-malin.com/a-la-une/liste-complete-evenements-vba-excel-events/

VB:
Option Explicit
Dim celluleAvant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim celv As Range
Set celv = Range("A2:Z100")
Dim celd As Range
Set celd = Range("A1")
  If Not IsEmpty(celluleAvant) Then
        If Not Intersect(Range(celluleAvant), celv) Is Nothing Then
            Calculate
            celd.Value = Now
        End If
  End If
celluleAvant = Target.Address
End Sub
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
234

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 864
dernier inscrit
abderrashmaen