Microsoft 365 ListBox transposée

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 !

JessCH

XLDnaute Nouveau
Bonjour le forum,
Je galère avec une ListBox.
Comment transposer une ListBox dans une feuille excel avec une recherche dans un tableau.
Voici le code :
VB:
Private Sub CButton_Enregistrer_Click()

If MsgBox("Voulez-vous enregistrer la modification ?", vbYesNo, "Demande de confirmation") = vbYes Then
  End If
 
    Set Ta = ThisWorkbook.Sheets("BD")

  Set A = Ta.Range("A:A").Cells.Find(Me.TB_Entreprise, , xlValues, xlWhole) 'recherche rang dans tableau "BD"
    If Not A Is Nothing Then


                  Ta.Cells(A.Row, 3) = TB_Adresse_Potale.Value
                  Ta.Cells(A.Row, 5) = TB_Adresse_Physique.Value
                  Ta.Cells(A.Row, 4) = TB_Ville.Value
                  Ta.Cells(A.Row, 6) = TB_Pays.Value
                  Ta.Cells(A.Row, 7) = TB_Téléphone.Value
                  Ta.Cells(A.Row, 8) = ListBox1.Application.Transpose(.List)
                  
                  End If
                  End Sub

Je ne sais pas comment faire pour que le contenue de ma ListBox soit envoyé dans la bonne cellule après recherche.
J'ai un message d'erreur:
"
Erreur de compilation:
Référence incorrecte ou non qualifiée "

Surbrillance sur

Code:
(.List)

D'avance, merci
 
Bonjour,
En effet, .List est non qualifié en premier lieu sans préjuger du fait que ce soit une référence correcte en fonction de l'objet auquel .List est supposé appartenir.
Pour qualifier .List, soit tu mets l'objet devant <Objet>.List soit tu utilises un With <Objet>
D.
 
Bonjour JessCH, Dudu2,

Très bizarre votre manière d'utiliser Application.Transpose, a priori il faudrait écrire :
VB:
Ta.Cells(A.Row, 8) = Application.Transpose(ListBox1.List)
Mais à droite du signe = on a une matrice, ça n'ira pas… Peut être tout bêtement :
VB:
Ta.Cells(A.Row, 8) = ListBox1
A+
 
Bonjour a toutes est a tous et avant toute chose, BONNE ANNEE !!! 🙂

Alors j'ai essayé plusieurs possibilité selon les conseils de Dudu2 et job75, mais ça ne fonctionne pas...

Je joint mon fichier un peu simplifié vue qu'il y a des données confidentielles, je joint aussi une petite aide vue qu'il est assez complexe a utiliser si c'est en mode Admin.

J'espère qu'avec ça, vous pourrez faire qqchose pour m'aider.

Un grand merci d'avance.
 

Pièces jointes

Bonjour job75,

C'est parce que j'ai simplifié le problème pour facilité la compréhension de mon problème. Mais je m'appercois que ce n'est pas ça...
Dans mon fichier Excel il y a 3 base de données :
  1. La 1er Feuil1(BD) : nom ; adresse ; tél etc de l'entreprise.
  2. La 2ème Feuil2(Contacts) Nom des personnes de contact avec leurs fonctions.
  3. La 3ème base de données (Feuil3) Leur spécialités. "Métiers".

J'aimerais pouvoir modifier leur métiers qui est dans la Feuil3 dés qu'un changement est nécessaire. Tout cela a partir de mon UserForm "UF_BD".

J'espère avoir été plus clair cette fois ci.

Merci.
 
Bonjour,
S'il faut plonger dans le code, ce n'est pas très cool. Que veux tu faire au juste ?
Tu as une ListBox et tu veux en charger le contenu dans des cellules avec une transposition ? Cest ça ?
VB:
Dim TT() As Variant
TT = ActiveSheet.ListBox1.List
Range("A1").Resize(UBound(TT, 2) + 1, UBound(TT, 1) + 1).Value = WorksheetFunction.Transpose(TT)

Ou encore plus simple:
Code:
Range("A1").Resize(2, ActiveSheet.ListBox1.ListCount).Value = WorksheetFunction.Transpose(ActiveSheet.ListBox1.List)
 
Dernière édition:
Ta ListBox n'est pas en direct sur une feuille comme dans mes exemples.
Elle est dans un UserForm. Et comme à priori ton code est dans le UserForm...
VB:
Range("A1").Resize(2, Me.LB_Métiers.ListCount).Value = WorksheetFunction.Transpose(Me.LB_Métiers.List)
 
- 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

Discussions similaires

Réponses
10
Affichages
530
Réponses
3
Affichages
825
Réponses
1
Affichages
735
Retour