Effacement de cellules qui ne s'effectue pas

  • Initiateur de la discussion Initiateur de la discussion libellule85
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

libellule85

XLDnaute Accro
Bonsoir le forum,
Voici mon petit problème : quand j'écris une date dans la colonne A à partir de A5 celà me met automatiquement la date du jour dans la cellule N5 et l'heure dans la cellulle O5 et le classement se fait automatiquement d'après la colonne A ou B :

Code de la feuille :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("A5:B417")) Is Nothing Then
     Application.EnableEvents = False
     Cells(Target.Row, 14).Value = Date
     Cells(Target.Row, 15).Value = Format(Time, "hh:mm:ss")
     Call tri
     Application.EnableEvents = True
 End If
 End Sub

Code du module :
Code:
Sub tri()
    Range("A5:O417").Sort Key1:=Range("A5"), Order1:=xlAscending, Key2:=Range( _
        "B5"), Order2:=xlAscending, _
        Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
        xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
    
End Sub

Pour cela pas de problème. Mon problème vient du fait que si je supprime la date entrée en A celà ne supprime pas la date et l'heure qui vont se classer en dernière position.
J'aimerais si celà est possible que quand je supprime les données de A ou B celà supprime également la date et l'heure correspondante.
Merci d'avance pour votre aide
 
Re : Effacement de cellules qui ne s'effectue pas

Bonsoir,

Essaie de modifier le 1er code ainsi:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("A5:B417")) Is Nothing Then
     Application.EnableEvents = False
     if Target<>"" then
       Cells(Target.Row, 14).Value = Date
       Cells(Target.Row, 15).Value = Format(Time, "hh:mm:ss")
       Call tri
     else
       Cells(Target.Row, 14).resize(1,2).Clearcontents 
     end if
     Application.EnableEvents = True
 End If
 End Sub

Non testé, je te laisse regarder
 
Re : Effacement de cellules qui ne s'effectue pas

Bonsoir Softmama,
Tout d'abord merci pour la rapidité de ta réponse c'est sympa.
Ta modif' efface la date et l'heure en N et O mais par contre après effacement il n'effectuait pas le nouveau tri.
C'est pourquoi j'ai rajouté Call tri entre end if et Application.EnableEvents = True et celà fonctionne très bien.
Maintenant tout fonctionne à merveille
Encore merci beaucoup pour ton aide
 
Re : Effacement de cellules qui ne s'effectue pas

re Softmama,

Excuses moi mais je reviens vers toi car quand j'utilise un bouton pour effacer les données du tableau macro ci-dessous :

Code:
Sub EffacerDétail()
Range("A5:L417").ClearContents
End Sub

Celà me met Erreur d'Exécution "13"
Incompatibilité de type
et quand je clique sur débogage le code ci-dessous est stabiloté en jaune
Code:
If Target <> "" Then

Peut-être ne dois je plus utiliser ce bouton ?
Merci pour ta réponse
 
Re : Effacement de cellules qui ne s'effectue pas

Bonsoir,

Peut-être en modifiant légèrement la macro de ton bouton :
Code:
Sub EffacerDétail()
application.enableEvents = false
Range("A5:L417").ClearContents
application.enableEvents = true
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
348
Réponses
3
Affichages
508
Retour