Re : clik sur onglet qui change selection de listbox1
Bonjour Pierrejean,
Tout d'abord, tu me conseille :
If Left(Sh.Name, 5) <> "Feuil" Then
Unload UserForm1
UserForm1.Show
End If
Je comprends pas pourquoi 5, j'ai essayé avec 6 ou 2 ou 10
ca ne marche plus
Bon si je laisse 5 et que je met exactement ca :
Public Sub Workbook_SheetActivate(ByVal Sh As Object)
'If UserForm1.Visible = False Then UserForm1.Show
'If UserForm1.Visible = True Then
With ActiveSheet
.Range(Cells(2, 1), Cells(Range("a65536").End(xlUp).Row, Range("IV1").End(xlToLeft).Column)).Interior.ColorIndex = -4142
End With
'End If
If Left(Sh.Name, 5) <> "Feuil" Then
Unload UserForm1
UserForm1.Show
End If
End Sub
Mes listes s'initialisent bien mais du coup ca mais la pagaille
dans mes msg et l'usf réapparaît pas comme je voudrais.
Comme tu dis, j'essaye "d'expliciter"
Ce que je voudrais, c'est que une fois ma sélection faite pour une feuille
et la feuille liste crée, l'usf n'apparaissent plus sur ces feuilles
pour que je vois bien le résultat et éventuellement imprimer.
Dans mon usine j'y suis arriver en mettant ca :
pas terrible mais j'ai pas trouver mieux.
Public Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Liste" Then
If UserForm1.Visible = True Then UserForm1.Hide
Else
If UserForm1.Visible = False Then UserForm1.Show
If UserForm1.Visible = True Then
With ActiveSheet
.Range(Cells(2, 1), Cells(Range("a65536").End(xlUp).Row, Range("IV1").End(xlToLeft).Column)).Interior.ColorIndex = -4142
End With
End If
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim adresse As String, feuille As String
If Sh.Name = "Liste" Then
adresse = Target.Value: feuille = Range("A1").Value ' Recup des données
Application.EnableEvents = False ' Annuler l'intercepteur d'évenement
If Target.Value <> "" Then
Sheets(Range("A1").Value).Select ' Selection de la feuille
On Error Resume Next
Sheets(feuille).Range(adresse).Select ' Selection de la cellule
Selection.Interior.ColorIndex = 33
UserForm1.Hide
End If
Application.EnableEvents = True
' Remise en place de l'intercepteur d'évenement
End If
'Unload UserForm1
End Sub
Par contre, ensuite, si je décide de faire une sélection avec une autre feuille
en cliquant son onglet, l'usf revient mais pas avec les bonnes listes.
Donc faudrait associer ta méthode qui initialise bien les listbox à
l'apparition du usf avec 1click sur un onglet et la mienne qui permet de cacher l'usf pour bien voir toutes les adresses de la feuille liste et de la feuille ou je met la couleur.
J'espère que mes "explicitations" te seront compréhensibles.
Précision : j'essaye de faire ca parceque en vrai, je mets des feuilles
qu'on me transmets dans un seul classeur et que en fonction des saisies,
c'est à moi de décider si les doublons sont logiques ou non.
J'ai donc besoin de bien voir les anomalies, faire les modifs nécessaires
ou pas, et ensuite retourner les feuilles à l'expéditeur.
Pourvu que tu comprennes ce je souhaite.
Merci à toi et au forum en général.