1 ou 0 si ligne masquée

zumye

XLDnaute Occasionnel
bonjour le forum
est t-il possible dans une celulle d'avoir 0 ou 1 si une ligne est masquée?
ex: ligne 18 masquée cellule AV=1
ligne 18 non masquée cellule AV=0
merci
 

Cousinhub

XLDnaute Barbatruc
Re : 1 ou 0 si ligne masquée

Re-,
En faisant un essai, je me suis aperçu d'une chose quelque peu bizarre...
J'ai voulu diminuer le code avec :

Code:
[AV1] = (Rows(18).Hidden = True) * 1

et j'obtiens -1 si la ligne est masquée :confused::confused:

si on fait :

Code:
x = Rows(18).Hidden = True

on obtient bien Vrai
Je pensais qu'en multipliant Vrai par 1, on obtenait 1, mais non....:eek:

donc, on peut mettre :

Code:
[AV1] = (Rows(18).Hidden = True) * -1

Pourquoi? :confused:

J'ai trouvé quelques questions semblables sur le net, et en VBA, TRUE = -1, En Excel, VRAI = 1

CQFD
 

Cousinhub

XLDnaute Barbatruc
Re : 1 ou 0 si ligne masquée

Re-,
pour répondre à ta deuxième question, tu peux la mettre n'importe où, dans une sub ou un évènement de feuille.
Par exemple :

Dans le code de la feuille :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[AV1] = IIf(Rows(18).Hidden = True, 1, 0)
End Sub
 

Cousinhub

XLDnaute Barbatruc
Re : 1 ou 0 si ligne masquée

Re,
essaie :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$3" Then
    Rows(18).Hidden = IIf(Target = "connex", True, False)
End If
End Sub

si la cellule est entrée à la main
si la cellule est le résultat d'une formule, tu mets ceci :

Code:
Private Sub Worksheet_Calculate()
    Rows(18).Hidden = IIf([G3] = "connex", True, False)
End Sub
 

zumye

XLDnaute Occasionnel
Re : 1 ou 0 si ligne masquée

j'ai essayer les 2 : la premiere ne marche pas a cause de : Private Sub Worksheet_Change(ByVal Target As Range

et la deuxième ne marche pas non plus, elle recherche pendant au moins dix seconde et rien, c'est un peu pénible ce temps de recherche
 

Cousinhub

XLDnaute Barbatruc
Re : 1 ou 0 si ligne masquée

RE-,
Euh, tu les mets où, les codes?
Clic droit sur le nom de l'onglet, visualiser le code,colle le ou les codes
Maintenant, tu as peut-être deux Worksheet_Change(ByVal Target As Range)
Il n'en faut qu'un, sinon, bug
Pour le Calculate, tu dois avoir autre chose, mais sans voir.....
 

zumye

XLDnaute Occasionnel
Re : 1 ou 0 si ligne masquée

Ca y est ca marche avec le calcul mais j'ai le problème que c'est trop long, entre 5 et 10s, ai je trop de formule ou devrai je placer le programme ailleurs?

Private Sub Worksheet_Calculate()
Rows(18).Hidden = IIf([G3] = "connex", True, False)
End Sub
 

Cousinhub

XLDnaute Barbatruc
Re : 1 ou 0 si ligne masquée

RE-,
si cela fonctionne avec Worksheet_Change, vaut autant l'utiliser
Par contre, je ne comprends pas pourquoi c'est si long....:confused:
peut-être en plaçant ceci :

Code:
Private Sub Worksheet_Calculate()
[COLOR="Red"]Application.EnableEvents = False[/COLOR]
Rows(18).Hidden = IIf([G3] = "connex", True, False)
[COLOR="Red"]Application.EnableEvents = True[/COLOR]
End Sub

Mets bien les DEUX
 

Discussions similaires

Réponses
8
Affichages
428

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16