Masquer une feuille mais garder la cellule active

Bonjour à tous et merci à qui pourra m'aider.

Dans un UserForm, afin de pouvoir sélectionner une plage de cellule pour une ListBox je me réfère à une feuille appelée "mes listes" dans laquelle se trouvent toutes les listes utiles pour remplir la feuille "préparation". Seulement voila, lorsque je lance mon UserForm pour le tester, d'office il m'active la feuille "mes listes" en fond de Userform (donc dans excel même, les feuilles changent automatiquement lorsque j'arrive à l'affichage de la ListBox) ce qui ne me va pas. J'aimerais que, malgré que je sélectionne la feuille "mes listes", excel reste sur la feuille "préparation" en fond et ce afin que ce soit plus visible pour l'utilisateur (pas de saut d'une feuille à l'autre pendant le remplissage ds données UF). J'ai bien essayé en incorporant une ligne "Worksheets("mes listes").Visible = False" mais alors ma ListBox renvoie les cellules de la feuille "préparation" au lieu de celle "mes listes" et évidement ça ne va pas !

Bon c'est pas très clair mais je vous mes mon fichier afin que vous puissiez y jeter un coup d'oeil. Il y a certainement moyen de pondre un truc bien plus simple que celui que j'ai fait mais comme je suis débutant en la matière, je fais comme je peux soyez indulgents

Dedans vous verrez que dans "UF_Activité1", au niveau "Private Sub CboInteg_Change()", ce sont dans les dernières lignes avant le "End sub" que se pose mon problème, soit:

Worksheets("mes listes").Select
        Worksheets("mes listes").Cells.Find(CboInteg.Value, , xlValues, xlWhole).Select
        'C'est ici que j'ai mit l'instruction "Worksheets("mes listes").Visible = False" mais ça ne fonctionne pas
         k = 2

             Do While ActiveCell.Offset(k, 0) <> ""
                Me.ListBox_Spec.AddItem ActiveCell.Offset(k, 0).Value
                k = k + 1
             Loop

Merci déjà à vous.

Cordialement,

Rékiss

bonjour,

Dans VBA on n'active pas, on ne Select pas, on n'a pas besoin qu'une feuille soit visible pour travailler dessus.

Je manque de visibilité dans la jungle de tes neurones pour tester le usf, mais je pense que la modif ci-jointe devrait fonctionner :

Essaie de masquer la feuille "mes listes" et de lancer le truc avec la macro modifiée comme suit :

Private Sub CboInteg_Change()
Dim rng As Range, iR&, iC& '***************   ligne à ajouter
    Me.ListBox_Spec.Clear

     With Worksheets("mes listes")
        If CboDomaine = .Cells(39, 5).Value Then
            ListBox_Spec = ""
        ElseIf CboDomaine = .Cells(39, 6).Value Then
            ListBox_Spec = ""
        ElseIf CboInteg = .Cells(41, 7).Value Then
            For Int9 = 48 To 51
                Me.ListBox_Spec.AddItem .Cells(Int9, 7).Value
            Next
        ElseIf CboInteg = .Cells(42, 7).Value Then
            For Int10 = 48 To 52
                Me.ListBox_Spec.AddItem .Cells(Int10, 8).Value
            Next
        ElseIf CboInteg = .Cells(43, 7).Value Then
            For Int11 = 48 To 49
                Me.ListBox_Spec.AddItem .Cells(Int11, 9).Value
            Next
        ElseIf CboInteg = .Cells(44, 7).Value Then
            For Int12 = 48 To 49
                Me.ListBox_Spec.AddItem .Cells(Int12, 10).Value
            Next
        ElseIf CboInteg = .Cells(45, 7).Value Then
            For Int13 = 48 To 50
                Me.ListBox_Spec.AddItem .Cells(Int13, 11).Value
            Next
        ElseIf CboInteg = .Cells(46, 7).Value Then
            ListBox_Spec = ""
        Else
            '************* Zone modifiée
            Set rng = .Cells.Find(CboInteg.Value, , xlValues, xlWhole)
            If Not rng Is Nothing Then
            iR = rng.Row + 2
            iC = rng.Column
                Do While .Cells(iR, iC) <> ""
                   Me.ListBox_Spec.AddItem .Cells(iR, iC).Value
                   iR = iR + 1
                Loop
            End If
        End If
      End With
End Sub

Et... croise les doigts !

A+

Salut galopin et merci

Je manque de visibilité dans la jungle de tes neurones pour tester le usf

Et encore t'as rien vu

Mais c'est vrai que je n'ai pas commenté mon UF donc c'est pas simple et, comme dit dans mon message précédent, il y a certainement moyen de faire plus simple mais comme je ne connais pas grand chose, je fais avec ce que j'ai

j'ai testé ta petite modif et ça fonctionne parfaitement !

merci beaucoup.

Bonne journée,

Rékiss

Rechercher des sujets similaires à "masquer feuille garder active"