XL 2010 Formule SI teste ToggleButton actif ou lignes affichées

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 !

FranckS

XLDnaute Nouveau
Bonjour,

J'ai un fichier Excel avec 2 onglets.
Dans le 1er onglet j'ai 1 ToggleButton qui affichent des lignes 37 à 42 et 1 autre qui affichent les lignes 43 à 48 .
Dans le 2sd onglet je souhaite mettre une formule dans une cellule qui va faire une multiplication si l'un ou l'autre ToggleButton est "actif" (donc les lignes sont affichées)
Ou alors il est peut-être plus simple de "tester" si la série de lignes 34 à 42 et 43 à 48 sont affichées ?

Dans mon language ça donne :
Si le ToggleButton1 ou le ToggleButton2 est actif dansl'onglet 1 alors je multiplie cellule A1 par cellule A2
Ou alors plus simple ? Si les lignes 37 à 42 ou 43 à 48 sont affichées alors je multiplie cellue A1 par cellule A2

En espérant avoir était clair, merci d'avance pour votre aide.
Franck
 
Bonjour Franck

dans la procédure, Rows(37).Hidden te renvoie VRAI si la ligne est masquée ou Faux si la ligne est affichée

Si les lignes 37 à 42 ou 43 à 48 sont affichées alors je multiplie cellule A1 par cellule A2
If Rows(37).Hidden = False Or Rows(43).Hidden = False Then [A1] = [A1] * [A2]

à+
Philippe
 
bonjour à tous,

un essai par fonction personnalisée.

Dans un module standard:
VB:
Function SommeSI()
Application.Volatile
With Worksheets("Feuil1")
If .ToggleButton1 Or .ToggleButton2 Then
  With Worksheets("Feuil2")
  SommeSI = .Range("A1") + .Range("A2")
  End With
Else
  SommeSI = ""
End If
End With
End Function

et dans une cellule de la feuille 2 : =SommeSI()

A+
 
Bonjour Paf,

J'ai retenu ta solution et je l'ai un tout petit peu adapté à ma "vrai" situation, voir ci-dessous, et ça fonctionne nickel ! Merci beaucoup.

Function SommeSI()
Application.Volatile
With Worksheets("OF")
If .ToggleButton1 Or .ToggleButton2 Then
With Worksheets("Temps")
SommeSI = Worksheets("OF").Range("i4") * .Range("h3") * .Range("k1")
End With
Else
SommeSI = 0
End If
End With
End Function

Bonne soirée,
Franck
 
- 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

Retour