Résolu XL 2010 Plusieurs menu déroulants ayant une interaction sur l'affichage de colonnes

sebbbbb

XLDnaute Occasionnel
Bonjour

dans le cadre de mon travail, je dois gérer des relèves d'équipages de navire soit lorsque le navire est a quai ('shore side') ou lorsque le navire est sur rade, par vedette ('launch boat' ou 'pilot boat')

j'ai un fichier que je suis en train de monter pour que lorsqu'au minimum une ligne (menu déroulant) de la sélection (G15:G26) & (G32:43) affiche le choix 'Pilot boat' ou 'Launch boat' alors apparaisse les colonnes H à J (qui me servent à gérer cette relève sur rade).

J'ai réussi en ce sens, même si celà fonctionne plutôt a chaque changement dans une des lignes.

Je souhaiterai que ce changement ne se fasse que lorsque l'on sélectionne réellement 'Pilot boat' ou 'Launch boat' car actuellement il suffit que je resélectionne 'Shore side' pour que les colonnes apparaissent également.

Je voudrais que l'effet inverse fonctionne également, cad que si les colonnes sont affichés et que l'utilisateur décide d'annuler son choix et que TOUTES les cellules de la sélection (G15:G26) & (G32:43) affiche seulement le choix 'Shore side', alors les colonnes H à J soient de nouveau cachés.

a noter que le fichier est protégé sans mot de passe

Pensez vous que celà soit réalisable ? j'ai avancé ce que je pouvais mais j'atteins mes limites

un grand merci par avance

je vous mets en PJ mon fichier

Seb
 
Ce fil a été résolu! Aller à la solution…

Fichiers joints

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Sebbbbb,
Pas tout compris mais en modifiant tbl_raw[#A11] par tbl_raw simplement, ça à l'air de marcher.
Même si ça n'a rien à voir avec l'insertion de la colonne N°Dossier. :rolleyes:
VB:
      'Use advance filter ( avant tbl_raw[#A11] )
170   sh_raw.Range("tbl_raw").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=critRange, _
          copyToRange:=copyToRng, Unique:=False
Au fait que vouliez vous faire avec tbl_raw[#A11] ? Ca pointait quelle matrice ?
 

Fichiers joints

sebbbbb

XLDnaute Occasionnel
celà me semble parfait
merci infiniment !

puis je abuser de tes connaissances et te demander un autre petit service ?
si je lance le scrip pour ajouter les colonnes et qu'ensuite je fais marche arrière, mon tableau ne reprend pas sa taille d'origine (zoom 80 )
y a t il moyen de corriger celà stp ?

merci encore
tu es juste en face de l'estuaire de la Loire ?

seb
 

Pounet95

XLDnaute Occasionnel
Bonsoir,
Affiche toutes les colonnes que tu veux voir à l'écran donc compris H, I, J.
En "jouant" avec le zoom personnalisé que tu règles de façon à tout avoir ( 120 ,130 140% ?) tu auras ton affichage maxi.
Quand les colonnes seront cachées, il y a aura moins de surface utilisée, mais à l'inverse ça reprendra la place initiale. Ca le fait bien sur mon PC
Claude

Et oui, je suis sud Loire (St-Brévin) de Mars à Octobre et nord Seine (95) le reste du temps.
 

sebbbbb

XLDnaute Occasionnel
Merci voisin :)
en fait je parlais de mise à l'échelle. j'aimerai que lorsque les colonnes sont cachées, la mise a l'echelle se fasse automatiquement pour que celà revienne a 80
merci
seb
 

Pounet95

XLDnaute Occasionnel
Je ne comprends pas tout !
Que ce soit avec les colonnes cachées ou pas, le zoom est toujours le même. Il ne change pas entre 2 affichages ??? Les dimensions des lignes et colonnes sont les mêmes ! C'est la surface occupée par les données qui semble donner cet effet ?
 

sebbbbb

XLDnaute Occasionnel
En fait je ne parle pas du zoom mais de la mise a l'échelle

si tu regardes bien au départ la mise a l'échelle est de 80 ; lorsque les colonnes sont affichés alors par code vba la mise a l'échelle diminue a 72 (pour que tout rentre dans une page).
si l'on cache de nouveau les colonnes , la mise a l'echelle reste a 72 donc le tableau est plus petit et donc moins bien visible

vois tu ce que je veux dire ?
 

sebbbbb

XLDnaute Occasionnel
en fait le hic c'est que des que je fais une modif (simplement une lettre a joutée dans une cellule) celà me réduit mon fichier (mise a l'échelle passe de 80 a 72).
je voudrais que la mise a l'echelle passe donc seulement lorsque les colonnes sont affichées et que le mise a l'echelle revienne a 80 lorsque les colonnes sont cachées
merci par avance

en PJ le fichier correct a l'ouverture
 

Fichiers joints

Pounet95

XLDnaute Occasionnel
Bonjour Sebbbbbbb
On est plus dans une problématique de taille d'écran et de résolution, je pense.
J'utilise un PC de bureau avec un écran de 23.8 " et la résolution est de 1920 x 1080.

Quand j'ouvre ton fichier et que je regarde le taux du zoom, il est à 115%.
Après affichage des colonnes, il es toujours à 115% et mon écran n'est pas plein !!

A voir si ce problème a déjà été traité donc par recherche sur le ouaib
A plus
Claude
 

Pounet95

XLDnaute Occasionnel
Re,
Remplace le code dans l'évènement Worksheet_Change de la feuille par celui ci-dessous, et, éventuellement, celui du module1 par le code suivant.
Les valeurs 80 et 72 dépendent de la résolution en largeur et pourraient éventuellement être appliquées en fonction de l'écran utilisé.

Dis-moi si ça lz fait
Claude
 

Pounet95

XLDnaute Occasionnel
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim nbOccur As Integer
    
    On Error Resume Next 'Pour passer outre l'erreur en cas d'effacement
    'Le terme Shore side ou le terme Piloat Boat est présent une fois ?
    If Range("nbboarding") = 0 And Range("nbleaving") = 0 Then
        'cacher les colonnes
        ColsHideShow False
        ActiveWindow.Zoom = 80
    Else
        'aficher les colonnes
        ColsHideShow True
        ActiveWindow.Zoom = 72
    End If
    ActiveSheet.Protect
End Sub
[/CODE]

'*******************************************************************
' Module1
Code:
Option Explicit

Sub ColsHideShow(Voir As Boolean)
    ActiveSheet.Unprotect
    If Voir = True Then
        Range("H:J").Columns.Hidden = False
    Else
        Range("H:J").Columns.Hidden = True
    End If
End Sub
 

sebbbbb

XLDnaute Occasionnel
Bonjour
J ai trouve
Il fallait simplement mettre une mise a l echelle automatique en cochant ajuster sur une page
Merci bcp pour l aide
C est sympa
Seb
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas