Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion MALLORY
  • 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

MALLORY

Guest
Bonjour le forum !

Voila, je suis toujour débutant en VBA et j'ai une petite question a propos des usf.

Voilà, j'ai crée un USF de saisie par rapport a une feuille de calcul excel.
Jusque là pas de problemes.
J'arrive a prendre des valeurs dans la feuille pour les mettre dans mon USF et inversement a mettre dans ma feuille les valeurs de mon USF.
Jusque là pas de soucis encore

Mais voilà, ma feuille comportes certaines cellules avec des listbox et je souhaiterais savoir si en mettant une listbox dans mon USF avec les même donnée que dans la listbox de ma feuille, la donné choisie dans ma listbox de mon USF pourra etre "coller" dans la cellule ou se trouve la listebox de ma feuille ?

Pardon pour ma question mais j'arrive pas à etre plus clair! J'espere que vous etes plus intelligent que moi car moi rien que la question me fait mal a la tête!

Merci a tous pour votre aide !

Mallory
 
Bonjour Mallory

J'ai mal à la tête !! lol

Bon si j'ai compris tu veux synchroniser la sélection faite depuis une ListBox1 dans un UserForm vers une ListBox1 sur une Feuille ?

Alors je propose ceci dans un classeur vierge en ayant pris soin de dessiner une ListBox1 (ActiveX de la barre d'outils Contrôles) sur la feuille active, puis aussi une ListBox1 dans un UserForm et de mettre ce code dans le Private Module du UserForm...

Option Explicit

Private Sub UserForm_Initialize()
Dim i As Byte

For i = 1 To 10
Me.ListBox1.AddItem "Toto" & i
ActiveSheet.ListBox1.AddItem "Toto" & i
Next
End Sub

Private Sub ListBox1_Click()
ActiveSheet.ListBox1.ListIndex = Me.ListBox1.ListIndex
End Sub

Est-ce ça ?
Bon Aprèm
@+Thierry
 
Bonjour le forum!

Merci a toi titi !

Mais c'est la même chose si j'ai déjà une feuille de calcul existante avec une Lisbox existante dans cette feuille?

Au fait, titi, désolé de ne pas avoir répondu hier mais j'ai été débordé par le boulot et n'ai pu me consacré ni à mon USF ni à ton message !

Mallory
 
Bonjour Mallory, le Forum

Ce n'est pas important que tu aies déjà ta ListBox sur la Feuille, ce qui l'est par contre c'est que ce soit bien une ListBox ActiveX.

Ensuite pour l'intégrité de ton truc, il faut qu'il y ait le même nombre d'items si tu veux éviter un plantage...

Ensuite, là c'est toi qui voit, mais il vaut mieux aussi que tes Items soient ordonnées comme il faut, car ListIndex récupère le numéro de l'Item dans sa position sur la ListBox, donc vaut mieux être synchro sur ce coup là...


Bon Aprèm
@+Thierry
 
Bonjour Thierry, le forum,

Merci pour ta réponse, mais dernière petite colle, comment je fais pour ajouter des items dans la listbox que j'ai créée dans mon usf pour que ce soit la meme que la listbox de ma feuille?

Et encore merci a tous

Mallory
 
Re Mallory, le Forum

Ben oui c'est une colle, car même pour moi je n'en sais fichetrement rien tant que tu ne me donnes pas de détails ... Comment est incrémentée en donnée ta ListBox de Feuille (?)

Il y a bien des méthodes pour incrémenter des données dans une ListBox !!

En voici quatre pour incrémenter une ListBox dans un UserForm de manière dynamique :

METHODE ADDITEM :
Description de l'aide : Ajoute un élément à la liste d'une zone de liste ou d'une liste modifiable à colonne unique. Ajoute une ligne à la liste d'une zone de liste ou d'une liste modifiable multicolonnes.

Exemple concret :
Private Sub UserForm_Initialize()
Dim i As Byte, x As Byte
i = Sheets("Feuil1").Range("A65536").End(xlUp).Row
  For x = 1 To i
    With ListBox1
     .AddItem Sheets("Feuil1").Range("A" & i)
    End With
  Next x
End Sub


METHODE ROWSOURCE : (attention ListBox ou Combobox de UserForm ONLY)
Description de l'aide : Spécifie la source de données fournissant une liste à un contrôle ComboBox ou ListBox.

Exemple concret :
Private Sub UserForm_Initialize()
Dim Plage As String
  With Sheets("Feuil1")
   Plage = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Address
  End With
ListBox1.RowSource = "Feuil1!" & Plage
End Sub

NB : la méthode "RowSource" ci-dessus ne supporte pas des nom de feuille (onglet) avec des espaces et certains caractères spéciaux



METHODE LIST : (Tableau Variant de Plage)
Description de l'aide : Renvoie ou définit la liste des entrées d'un contrôle ListBox ou ComboBox.

Exemple concret :
Private Sub UserForm_Initialize()
Dim Plage As Variant

  With Sheets("Feuil1")
   Plage = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
  End With

Me.ListBox1.List = Plage
End Sub



METHODE LIST : (Tableau Séquentiel)

Exemple concret :
Private Sub UserForm_Initialize()
Dim Plage As Range
Dim Tab1() As String

  With Sheets("Feuil1")
   Set Plage = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
  End With

ReDim Tab1(1 To Plage.Count)
  For Each Cell In Plage
    i = i + 1
    Tab1(i) = Cell
  Next

ListBox1.List = Tab1
End Sub


Et sinon si tu veux plus amples informations concrètes avec une méga démo je ne peux que te conseiller l'indispensable :

=> Fichier Téléchargeable Lien supprimé

=> Fil de Discussion Lien supprimé

Bonne Découverte Mallory car tu as de quoi t'amuser avec tout ça !

Bon Aprèm à tous et à toutes
@+Thierry
 
Bonjour le forum et thierry!

Thierry merci pour ton message.

la methode row fonctionne pour créer la listbox mais je n'arrive pas a mettre dans la cellule de destination de mon classeur la valeur sélectionné dans la listbox!

Quelqu'un aurait il une idée s'il vous plait?

Merci a tous

Mallory
 
- 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
XL 2021 listbox
Réponses
18
Affichages
508
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
420
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…