Question VBA sur Columns et Range

Bonjour,

Actuellement, j'utilise le code suivant pour indiquer automatiquement dans une colonne la date à laquelle une cellule a été modifiée :

Private Sub Worksheet_Change(ByVal Target As Range)
' N est la colonne que l'on doit surveiller
' O est la colonne dans laquelle on doit indiquer la date automatiquement
  If Not Intersect(Columns("N"), Target) Is Nothing And Target.Row > 1 Then
    Range("O" & Target.Row) = Date
  End If
End Sub

Par contre, dès que j'ajoute des colonnes et que la colonne à surveiller n'est plus N mais qu'elle devient P, par exemple (et la colonne dans laquelle la date doit être inscrite devient Q), la macro ne marche évidemment plus...

Est-ce qu'il y a donc la possibilité d'utiliser le TITRE de la colonne (ce qui est indiqué dans la cellule N1 et O1 actuellement) pour y faire référence ? Cela permettrait de ne pas indiquer explicitement la lettre de la colonne et donc que la macro fonctionne toujours même si elle a changé...

Merciiiiii

Trucmuche

Bonjour,

Tu peux utiliser le code suivant après avoir affecté le nom "Titre" à la cellule d'en-tête de colonne :

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Range("Titre").EntireColumn, Target) Is Nothing And Target.Row > 1 Then
    Target.Offset(, 1) = Date
  End If
End Sub

A+

Le nom... merveilleux merci !

Rechercher des sujets similaires à "question vba columns range"