Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 aide Userform

ERN

XLDnaute Junior
Bonjour à tous,

N’étant pas un pro d’Excel, je récupère a droite a gauche des bouts de code pour me faire un outils de recherche et de modification dans une base de données.

Là, je bloque sur un userform qui ne m'affiche pas toute mes colonnes et je galère pour trouver ce que je dois changer.
Je vous joins le fichier en question ainsi qu'une capture avec le problème de colonnes manquantes.

D'autre part, dans mon userform, j'aimerais ajouter deux cases, une qui me permets de sélectionner un coefficient en style menu déroulant (voir onglet IndBT) et une autre case qui va ajuster mon prix unitaire au coefficient selectionné.

Auriez-vous des idées à me partager ?

Merci d'avance.
 

Pièces jointes

  • Bdd_sous_traitants.xls
    111.5 KB · Affichages: 18
  • Capture blocage.JPG
    267.8 KB · Affichages: 13

fanch55

XLDnaute Barbatruc
Bonjour,
Pour l'affichage des colonnes :

Private Sub UserForm_Initialize()
Set f = Sheets("bdd")
Set Rng = f.Range("A2:K" & f.[a65000].End(xlUp).Row)

N'oubliez pas de rajouter les textboxs .
 

ERN

XLDnaute Junior
Bonjour fanch55,

Merci pour ce retour. J'ai bien modifié la lettre de ma colonne mais j'obtiens une erreur (voir capture jointe).
J'imagine que c'est lié aux histoires de textbox mais je ne vois pas ce que je dois faire.
 

Pièces jointes

  • Capture blocage.JPG
    19.8 KB · Affichages: 10

fanch55

XLDnaute Barbatruc
dans le code Initialize, vous voulez remplir les textbox du bas ( à ce que je comprend )
Vous avez rajouté 5 colonnes à votre listbox, mais le nombre de textboxs existants n'est plus en concordance
VB:
  '-- entêtes TextBox
  For i = 1 To Ncol
    Set Lab = Me.Controls.Add("Forms.Label.1")
    Lab.Caption = f.Cells(2, i)
    Lab.Top = Me("textbox" & i + 1).Top - 17
    Lab.Left = Me("textbox" & i + 1).Left
    x = x + f.Columns(i).Width * 0.5
  Next
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…