comment supprimer le contenu d'un cellule automatiquement en fonction d'une autre?

superbog

XLDnaute Occasionnel
bonjour

j'ai de nombreuses feuilles et dans toutes se trouve la même configuration
en colonne AH un nombre en €, en colonne AI une date
je voudrais qu'automatiquement, le nombre de la colonne AH soit supprimé lorsque la date de la colonne AI est antérieure à aujourd'hui

comment faire cela?

merci
 

Dranreb

XLDnaute Barbatruc
Re : comment supprimer le contenu d'un cellule automatiquement en fonction d'une autr

Bonjour.
Quelque chose comme ça :
VB:
Dim Cel As Range
For Each Cel In Feui1.Columns("AI")
   If Cel.Value < Date Then Cel.Offset(,-1).ClearContents
   Next Cel
Cordialement.
 

superbog

XLDnaute Occasionnel
Re : comment supprimer le contenu d'un cellule automatiquement en fonction d'une autr

j'ai du faire une erreur, ca ne fonctionne pas
Code:
Sub chq()
Dim Cel As Range
Dim sh As Worksheet

For Each sh In Worksheets
           If IsNumeric(sh.Name) Then

For Each Cel In sh.Columns("AI")
   If Cel.Value < Date Then Cel.Offset(, -1).ClearContents
   Next Cel
End If
Next sh


End Sub
 

superbog

XLDnaute Occasionnel
Re : comment supprimer le contenu d'un cellule automatiquement en fonction d'une autr

le classeur est trop lourd pour être joint (50Mo)
quand je lance la macro, une fenêtre s'ouvre avec la mention

erreur d'exécution "13"
incompatibilité de type
 

Dranreb

XLDnaute Barbatruc
Re : comment supprimer le contenu d'un cellule automatiquement en fonction d'une autr

Peut être faudrait il écrire plus précisément sh.Columns("AI") pour ne pas inclure toute la colonne, dont la 1ère cellule ne contiendrait rien qui puisse être comparé à une date. Je ne sais pas moi, je ne peux pas voir sans avoir sous les yeux un classeur témoin avec très peu de feuilles et de lignes renseignées, mais qui reproduise le problème !
 

Dranreb

XLDnaute Barbatruc
Re : comment supprimer le contenu d'un cellule automatiquement en fonction d'une autr

Essayez comme ça :
VB:
For Each Cel In sh.Range("AI22:AI" & sh.Cells(sh.Rows.Count, "AH").End(xlUp).Row)
   If Cel.Value < Date Then Cel.Offset(, -1).ClearContents
   Next Cel
À +
 

Discussions similaires

Statistiques des forums

Discussions
312 113
Messages
2 085 430
Membres
102 889
dernier inscrit
monsef JABBOUR