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

XL 2016 Macro qui ne s'exécute pas

LoubnaHhch

XLDnaute Nouveau
Bonjour tout le monde,

j'ai une macro qui doit me masquer un onglet en regardant la valeur d'une cellule qui change de valeur avec une formule.
Voilà mon code :
-----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim KeyCells As Range

If Not Application.Intersect(KeyCells, Range("B1")) Is Nothing and [B1]=23 Then

Feuil17.Visible = False

End If

End Sub
------------------------------------------------

Ma cellule B1 contient une formule, et du coup ma macro ne marche pas.
Merci de m'aider à trouver le souci.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Sur la base du fichier et de la demande du post#3, comme B1 est le résultat d'un calcul, possibilité de le faire sur évènement Calculate :
VB:
Private Sub Worksheet_Calculate()
    Feuil3.Visible = Range("B1") <> 23
End Sub
Si vous modifiez des choses dans Worksheet_Calculate, assurez-vous que vos codes n'entraînent pas de recalcul en chaîne.
Dans notre cas aucune valeur de cellule n'est modifiée => pas de recalcul.
 

Pièces jointes

  • Test_Main.xlsm
    22.2 KB · Affichages: 2

Jacky67

XLDnaute Barbatruc
Re..
Bon, on va couper court, puisque tu insistes sur cette méthode
-Supprimer l'ancienne macro
Dans un module
-Colle ceci
VB:
Sub A_selection()
    Feuil17.Visible = [B1] <> 23
End Sub
-Retourne sur la feuille
-Clic droit sur ta box de sélection==>sélectionne "Affecter une macro..."
-Dans la liste==>sélectionne==>"A_selection"
-Ok
Test......
-
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…