Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA - Efface info

  • Initiateur de la discussion Initiateur de la discussion Celeda
  • 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 !

Celeda

XLDnaute Barbatruc
Bonjour,

Je souhaiterai ajouter une condition supplémentaire à ces deux lignes de code ci-dessous
(si une date est placée en O ou P, la ligne se colorie en rose ou en gris)


Case 15
If IsDate(Target.Value) Then Target.EntireRow.Interior.ColorIndex = 38
Case 16
If IsDate(Target.Value) Then Target.EntireRow.Interior.ColorIndex = 15

Si une date placée dans ces colonnes, et si un X placé en colonne X, que le X s'efface automatiquement, sinon rien.

A l'avance merci
 
Re : VBA - Efface info

Re,

peut être ainsi , à voir si cela peut t'aider :
Code:
If IsDate(Target.Value) Then Target.EntireRow.Interior.ColorIndex = 15: _
    If Cells(Target.Row, 24).Value = "x" Then Cells(Target.Row, 24).Value = ""

mais attention, si code placé dans l'événement "change" de la feuille risque de boucler...

@+
 
Re : VBA - Efface info

Bonjour,

Pierrot!!!! touchons du bois, il n'y a que mes cheveux qui bouclent pour l'instant!!!!

Ca marche super, merci


décidemment, on a des rendez-vous.....je dirais..... excelliens tous les deux!!!! lol!!et excellents!!!

Merci encore.



Si cela boucle, je t'informe🙂
 
Re : VBA - Efface info

Bonjour tout le monde

@Pierrot : j'ai déjà le problème que tu évoque.
Je l'ai résolu en créant une variable de type boolean dans le code de la feuille
VB:
Dim Tag as Boolean
Dans ma macro xxx_change()
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  if not Tag then
    Tag=True
    'liste des trucs à faire
    Tag=False
  End If
End Sub

Pourrais tu me dire si il existe plus simple, stp?

D'avance merci
 
Re : VBA - Efface info

Bonjour Celeda, Bonjour Pierrot, Bonjour tbft,

@tbft :

ta solution me semble trés bonne

l'autre solution est de désactiver tous les évènements :

Code:
[FONT=monospace][COLOR=#0000fc]Private[/COLOR] [COLOR=#0000fc]Sub[/COLOR] Worksheet_Change([COLOR=#0000fc]ByVal[/COLOR] Target [COLOR=#0000fc]As[/COLOR] Range)
  [COLOR=#0000fc]if[/COLOR] [COLOR=#0000fc]not[/COLOR] Tag [COLOR=#0000fc]then[/COLOR]
    Application.EnableEvents = False
    [COLOR=#008000]'liste des trucs à faire
[/COLOR]    Application.EnableEvents = True
  [COLOR=#0000fc]End[/COLOR] [COLOR=#0000fc]If[/COLOR]
[COLOR=#0000fc]End[/COLOR] [COLOR=#0000fc]Sub[/COLOR][/FONT]
 
Re : VBA - Efface info

Merci tototiti

si j'ai bien compris on peut même supprimer le tag et le if then..

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    'liste des trucs à faire
    Application.EnableEvents = True
End Sub

Le seul inconvénient est que l'on bloque TOUS les événements.
Je titille ce n'est pas forcement un inconvénient
 
Dernière édition:
Re : VBA - Efface info

Bonjour à tous,

un autre problème avec "EnableEvents à false", en cas de plantage de la macro, les procédures événementielles seront désactivées jusqu'au redémarrage d'excel, à moins de remettre la propriété à "true" en lancant une ligne de code...

bon après midi
@+
 
Re : VBA - Efface info

Bonjour ou re à tous,


C'est je pense aussi le plus gros risque.

Cependant, en séparant la la macro en deux :
> une partie traitement (à proprement parler)
> une partie gestion des options de l'application avec gestion des erreurs.

Un exemple ici.

a+
 
- 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
4
Affichages
586
Réponses
2
Affichages
525
Réponses
41
Affichages
1 K
Réponses
6
Affichages
636
Réponses
5
Affichages
905
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
448
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…