afficher et masquer des lignes de deux tableaux selon des conditions

Ilino

XLDnaute Barbatruc
Bonjour Forum
Je vous sollicite pour m’aider ci-dessous mon souci ;
Dans la cellule F36 je saisie les valeurs de 1 au 72Max pour afficher les lignes de tableau 1 ( jusqu'à mnt ça marche bien mon code)
J’ai deux autres tableau ( de 142 au 213 et de 215 au 286) qui dépend des valeurs de deux colonnes du tableau 1( colonne S60 et colonne AE60)
Mon souci est le suivant
Je souhaite afficher TOUTES LES VALEURS « KO » selon le nombre de « Ko » dans les deux tableaux ( tableau 1.1 et 1.2 ) et masquer le reste des lignes de deux tableau derniers.
ci joint ulistration de mon souci
grazie
 

Pièces jointes

  • Copie de ILINO Tests FO.xlsm
    55.3 KB · Affichages: 49

Ilino

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Bonjour forum
je r'explique mon souci ( peut etre je serai tres clair)
en premier etape je calcule le nbre1. de KO pour la colonne S60 du tableau 1310 apres avoir le nbre1.
j'affiche le nombre de ligne selon le nbre1. aprtir de la ligne 142 ( max est la ligne 213)
avec les infomation concernées exemple : Pour 1310, la Fibre N°1 présente une attenuation de 9 supérieure à celle du bilan optique théorique.
etc...
a+:confused:
 

Modeste

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Re-bonjour,

Je ne sais pas si j'aurai compris, mais faute d'autre réponse, tu auras peut-être une piste ...

Il te restera à déterminer à quel endroit tu inséreras ce code (et à voir si tu n'es pas occupé à construire une "usine à gaz"!?)
VB:
Sub masque()
Application.ScreenUpdating = False
With ActiveSheet
    'pour 1310 nm
     nbLignes1310 = Application.CountIf(.[S60:S131], "ko")
    .Rows("142:286").Hidden = False
    .Rows(142 + nbLignes1310).Resize(72 - nbLignes1310).Hidden = True
    'pour 1550 nm
     nbLignes1550 = Application.CountIf(.[AE60:AE131], "ko")
    .Rows("215:286").Hidden = False
    .Rows(215 + nbLignes1550).Resize(72 - nbLignes1550).Hidden = True
End With
Application.ScreenUpdating = True
End Sub

Ciao ;)
 

Ilino

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Re-bonjour,

Je ne sais pas si j'aurai compris, mais faute d'autre réponse, tu auras peut-être une piste ...

Il te restera à déterminer à quel endroit tu inséreras ce code (et à voir si tu n'es pas occupé à construire une "usine à gaz"!?)
VB:
Sub masque()
Application.ScreenUpdating = False
With ActiveSheet
    'pour 1310 nm
     nbLignes1310 = Application.CountIf(.[S60:S131], "ko")
    .Rows("142:286").Hidden = False
    .Rows(142 + nbLignes1310).Resize(72 - nbLignes1310).Hidden = True
    'pour 1550 nm
     nbLignes1550 = Application.CountIf(.[AE60:AE131], "ko")
    .Rows("215:286").Hidden = False
    .Rows(215 + nbLignes1550).Resize(72 - nbLignes1550).Hidden = True
End With
Application.ScreenUpdating = True
End Sub

Ciao ;)

rE
MERCI POUR LA SOLUTION
ca fonctionne bien
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
With ActiveSheet
    'pour 1310 nm
    nbLignes1310 = Application.CountIf(.[S60:S131], "ko")
    .Rows("142:286").Hidden = False
    .Rows(142 + nbLignes1310).Resize(72 - nbLignes1310).Hidden = True
    'pour 1550 nm
    nbLignes1550 = Application.CountIf(.[AE60:AE131], "ko")
    .Rows("215:286").Hidden = False
    .Rows(215 + nbLignes1550).Resize(72 - nbLignes1550).Hidden = True
End With
Application.ScreenUpdating = True

End Sub
mais il reste qlq retouches a savoir :
je souhaiterai recuperer les valeurs( N° et att) pour chaque ligne "Ko" exemple dans le fichier ci joint
 

Pièces jointes

  • ILINO Tests FO v1.xlsm
    56.6 KB · Affichages: 42

Modeste

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Re,

Je pensais que tu "générais" les lignes avec le n° et l'atténuation dans une autre partie du code :eek:

Si tu dois encore construire cette partie-là, pourquoi ne pas simplement créer les lignes dont tu as besoin, plutôt qu'en créer 2 X 72, puis de masquer celles qui ne servent pas!?
 

Ilino

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Bonjour Modeste
merci d'avoir repondre a mes question,
concernant le nombre de lignes j ai pas le choix parce que pour chaque LONGUEUR D ONDE 1310 ET 150 je dois avoir un tableau de 72 lignes
GRAZIE
 

Modeste

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Bonjour,

j ai pas le choix parce que pour chaque LONGUEUR D ONDE 1310 ET 150 je dois avoir un tableau de 72 lignes
Oui, oui, j'ai bien compris (enfin, je crois, cette fois-ci!). Je dis seulement que toi, tu crées les 144 lignes, puis tu en masques une partie et puis tu cherches un moyen pour compléter celles qui restent visibles.
Ce que je propose, c'est de créer seulement celles dont on aura besoin.

Regarde la pièce jointe: j'ai supprimé toutes les lignes de 142 à 286; en fonction de ton "tableau 1" et du nombre de fibres pour lesquelles on trouve "ko", la macro crée les lignes nécessaires, lorsque tu cliques sur le bouton rajouté en ligne 140.
Le code est dans "CommandButton3_Click"
 

Pièces jointes

  • Tests FO v2 (ILINO).xlsm
    60 KB · Affichages: 48

Ilino

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Bonjour Modeste
encore pourquoi tu n'as pas met le code dans une sub change ?
A+
NB : si je supprime la valeur dans la cellule F36 j'ai un message d"erreur 1004" pas de cellule correspondantes?
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Bonsoir Ilino,

Si tu effaces le contenu de F36, toutes les lignes de ton "Tableau 1" sont masquées ... alors, pourquoi veux-tu créer des lignes :confused:
... C'est peut-être pour ça que j'ai associé le code à un bouton ;)

On peut faire autrement, mais alors il faut tester que F36 est > 0 (pour moi, ça n'a pas de sens si F36 est vide, de créer ces fameuses lignes: si ton tableau 1 est vide, il n'y aura forcément pas de "ko" en colonnes S ou AE :confused:)
 

Ilino

XLDnaute Barbatruc
Re : afficher et masquer des lignes de deux tableaux selon des conditions

Re
sinon je vous propose une solution , je souhaite afficher la valeur 1 par defaut dans la cellule F36 si j'efface la cellule F36 et comme ça dans touts les cas ( boutton ou sub-change) j'aurais pas ce message d'erreur???
Grazie
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 300
Membres
103 173
dernier inscrit
Cerba95