Datation sur chaque ligne d'un tableau à chaque modif

Bonjour,

J'ai un tableau avec trois colonne A, B et C.

Dans la colonne C, j'ai une formule pour la datation de chaque ligne:

=SI(NBVAL($A2:$B2)>0;Datation();"")

Elle fonctionne très bien toute seul, j'ai rajouté à mon tableau une formule conditionnelle:

=NON(ESTERREUR(CHERCHE("2";$B2:B20;1)))

Avec la formule conditionnelle ma formule de date ne fonctionne plus, pas bien

Avec la formule conditionnelle ma ligne se colorie si dans la colonne B il y a un chiffre 2, et justement si il y a le chiffre deux ma formule ne fonctionne plus

Quelqu'un aurait une petite idée ?

Meilleures salutations

Bonsoir,

Le format est standard dans la mfc. Pour avoir la date et l'heure, il faut appliquer ce format : "jj/mm/aaaa - hh:mm" ou un autre pour la colonne C dans votre mfc.

Cdt,

Darzou

Bonjour

Cete formule de MFC est suffisante.

Tu sélectionnes tout ton tableau et

=$B2=2

Par contre je ne vois pas à quoi sert ton Private Sub puisque ta fonction fait déjà le travail

Cordialement

Bonjour,

Je te remercie pour ton message et ton aide.

En faite, je ne maitrise pas VB, en surfant sur les forum et prenant des bouts codes, j'ai essayé de le travaillé avec la réussite que l'on connait

J'ai donc bien changer et apporter les modification que tu m'as suggéré, mais malheureusement chez moi avec le même résultat.

Si je rempli avec jdhkjdhk ou sjfhdkfjh cela fonctionne, mais dès que je mets 2 cela ne fonctionne plus

Est-ce parce que j'utilise Excel 2007 et ces codes sont peut être prévu pour une version 2003 ?

Je te remercie infiniment pour ton aide et le temps que tu me consacre.

Meilleures salutations


Bonjour,

Ops pardon, j'avais mal compris ou mettre =$B2=2, en faite il faut le mettre dans la formule conditionnelle, je viens de m'en apercevoir

Cela fonctionne très bien maintenant, excuse-moi.

Meilleures salutations

Bonjour

Une version plus allégée

J'ai supprimé ta fonction Datation() ainsi que les formules de la colonne C

Seul un code de Feuil1 est en place

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
    Target.Offset(0, 2) = Now
    ElseIf Target.Column = 2 Then
    Target.Offset(0, 1) = Now
    End If
End Sub

Cordialement

Bonjour,

Je vous remercie pour votre aide et du code VBA.

Auriez-vous l'amabilité de détailler le code, comme je suis un débutant en VBA.

Car j'ai voulut l'inserer dans un autre tableau dont la colonne C, dans mon autre document et en colonne M et commence en ligne 12.

Quel sont les modifications à faire pour que cela fonctionne ?

Je vous remercie d'avance.

Meilleures salutations

Bonjour

le Code commenté du précédent fichier

Private Sub Worksheet_Change(ByVal Target As Range)
' Si la valeur est entrée en colonne 1
If Target.Column = 1 Then
' la valeur deux colonne à droite (en colonne 3 ) est égale à Now
    Target.Offset(0, 2) = Now
'Sinon, si ' Si la valeur est entrée en colonne 2
    ElseIf Target.Column = 2 Then
' la valeur une colonne à droite (en colonne 3 ) est égale à Now
    Target.Offset(0, 1) = Now
    End If
End Sub

Si les saisies se font en colonne M et (Colonnes 13 et 14)

Private Sub Worksheet_Change(ByVal Target As Range)
' Si la valeur est entrée en colonne 13
If Target.Column = 13 Then
' la valeur deux colonne à droite (en colonne 3 ) est égale à Now
    Target.Offset(0, 2) = Now
'Sinon, si ' Si la valeur est entrée en colonne 2
    ElseIf Target.Column = 14 Then
' la valeur une colonne à droite (en colonne 3 ) est égale à Now
    Target.Offset(0, 1) = Now
    End If
End Sub

Cordialement

Bonjour,

J'ai essayé de le placer dans un autre fichier afin de savoir si j'arrive à l'adapter, et j'ai un peu de peine

J'ai un autre tableau, j'aimerai que toute info de la colonne 1 à 5 dès que l'on modifie une donnée, cela change la date dans la colonne 6. J'ai essayé avec plusieurs modifications sans succès.

Mais ce qui est étrange, si vous sélectionner le tableau de la cellule D6 à I19 et que vous fassiez un "delete" cela affiche les dates sur des cellules d'à coté ?

Merci pour votre patience

Meilleures salutations

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
  if target.count > 1 then exit sub    
  if target.column < 6 then cells(target.row,6)=now
End Sub

Cdt,

Darzou

Bonjour,

Merci pour votre aide.

Votre code fonctionne très bien.

Mais serait-il possible qu'il ne commence qu'à partir de la ligne 12 jusqu'à la ligne 200 par exemple.

Car au-dessus j'ai donnée qui change de temps en temps et je n'ai pas besoin d'avoir la date de la modif.

Merci d'avance

Meilleures salutations

Private Sub Worksheet_Change(ByVal Target As Range)
  with target
    if .count > 1 then exit sub    
    if .column < 6 and .row <= 200 and .row >= 12 then cells(.row,6)=now
  end with
End Sub

Cdt,

Darzou

Rechercher des sujets similaires à "datation chaque ligne tableau modif"