Affichage d'un userform

  • Initiateur de la discussion Initiateur de la discussion missaudrey
  • Date de début Date de début

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 !

M

missaudrey

Guest
Bonsoir tout le monde,

J'ai créé un userform que j'ai rempli avec des informations d'une feuille appelée feuille 2. j'ai crée sur une autre feuille "feuille 1" , un bouton pour afficher le userform. Quand je fais un userform.show,il s'affciche toujours dans "feuille 2". J'aimerai qu'il s'affiche en "feuille 1". j'ai essayé les feuil1.select, ou encore activate mais ca s'affiche toujours en feuil2. quelqu'un aurait-il une idée?

Merci d'avance et bonne soirée!
 
Re : Affichage d'un userform

Bonsoir MissAudrey, bonsoir le forum,

Il doit y avoir dans le code de ton UserForm un Sheets("Feuil2").Select (ou Activate) quelque part. Mais sans ton fichier exemple impossible de t'aider d'avantage...
 
Re : Affichage d'un userform

Bonsoir MissAudrey, bonsoir le forum,

J'avoue que j'ai du mal à comprendre le code car je n'ai toujours pas assimilé les fonctions en VBA... Mais une chose est sûre, à l'initialisation de ton Userform tu renvoies sur la fonction Initialiser (1) avec comme argument 1 qui est le numéro d'index d'onglet :
Code:
Private Sub UserForm_Initialize()
Initialiser (1)
End Sub
Dans la fonction Initialiser() il y a :
Code:
Private Sub Initialiser([COLOR=red]indexFeuille As Integer[/COLOR])
    'Déclaration de variables
    Dim lot As Variant
    Dim i As Integer
    Dim bool As Boolean
    Dim prendremodofEncompte As Boolean
 
 
    bool = False
 
    prendremodifEncompte = False
    ' Rend actif la feuille dont l'index est donné en argument
    [COLOR=red]ThisWorkbook.Worksheets.Item(indexFeuille).Activate[/COLOR]
[COLOR=black]'...[/COLOR]
Donc il est normal que quand tu cliques sur le bouton ça active toujours ThisWorkbook.Worksheets.Item(1) qui a pour nom OST EEL.

je te propose de rajouter la dernière ligne en rouge dans le code :
Code:
'Initialisé toutes les valeurs selon la feuille de volume
Private Sub Initialiser(indexFeuille As Integer)
    'Déclaration de variables
    Dim lot As Variant
    Dim i As Integer
    Dim bool As Boolean
    Dim prendremodofEncompte As Boolean
 
 
    bool = False
 
    prendremodifEncompte = False
    ' Rend actif la feuille dont l'index est donné en argument
    ThisWorkbook.Worksheets.Item(indexFeuille).Activate
 
 
    'ToutEffacer
    'initialise la liste des Lignes
    finLigne = getFinLigne
    index = 8
    debutLigne = index
 
    lot = Range("J" & debutLigne).Value
    CmbLot.AddItem (lot)
    index = debutLigne + 1
 
    While index <> finLigne + 1
 
        If lot <> Range("J" & index).Value Then
            lot = Range("J" & index).Value
            For i = 0 To CmbLot.ListCount - 1
                If CmbLot.List(i) = lot Then
                    bool = True
                    Exit For
                End If
            Next
            If bool = False Then
                CmbLot.AddItem (lot)
            End If
            bool = False
        End If
        index = index + 1
    Wend
 
    nbLigne = finLigne - debutLigne
 
    prendremodifEncompte = True
    CmbLot.ListIndex = 0
    'frmScrollGestion.ScrollTop = 0
[COLOR=red]Sheets("Sheet1").Activate[/COLOR]
End Sub

Oui je sais, c'est un peu confus car d'un coté il y a les items et de l'autre les noms et ton Item 3 s'appele "Sheet1"... C'est pas des plus malins...
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
520
Réponses
43
Affichages
788
Retour