Combobox et Propriété Column invalide

  • Initiateur de la discussion juliette
  • Date de début
J

juliette

Guest
Bonjour le Forum,

j'ai essayé de reprendre un code développé par notre Thierry le Magicien mais je bute sur une partie du code impliquant la propriété d'une colonne.

ci-dessous vous trouverez le code quelque peu modifié et vous avez une illustration de ce que je souhaite faire en pièce jointe.
un message d'eeruer intervient à ce niveau là du code: ".Column(1, i) = ActiveSheet.Range("F" & i + 2)".

Merci à tous pour l'éventuelle aide que vous pourrez m'apporter.
bonne semaine à vous.



"Private Sub CommandButton3_Click()
Dim L As Integer
Dim i As Integer
Dim WS As Worksheet


Application.ScreenUpdating = False
Range("A20:F30").Select
Selection.Sort Key1:=Range("F21"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A21").Select




L = Range("B30").End(xlUp).Row - 2

Me.ComboBox2.Clear
For i = 21 To L
With Me.ComboBox2
.ColumnCount = 2
.ColumnWidths = "40;40"
.AddItem ActiveSheet.Range("B" & i + 2)
.Column(1, i) = ActiveSheet.Range("F" & i + 2)
.ListIndex = 0
End With
Next i
Application.ScreenUpdating = True
End Sub"
 

Pièces jointes

  • essai.zip
    12.2 KB · Affichages: 18
  • essai.zip
    12.2 KB · Affichages: 14
  • essai.zip
    12.2 KB · Affichages: 18
J

juliette

Guest
re-bonjour...

je viens de m'apercevoir que le message explicatif de mon "projet" n'est pas apparu dans la pièce jointe.

voici, grâce à votre aide, ce que je souhaite faire:

je souhaiterai afficher dans une combobox dans l'ordre croissant des gains (colonne F dans le fichier), la ville (colonne B) et son gain associé.

Pour obtenir l'ordre croissant, Thierry a, dans son fichier, subtilement utilisé la fonction Tri.
jusqu'ici mon code fonctionne mais ensuite au niveau de la récupération de la seconde colonne, il y a un pb que je n'ai pas réussi à résoudre.

merci d'avance pour votre apport.

Juliette
 
@

@+Thierry

Guest
Bonjour Juliette, le Forum

Si il y a un magicien dans ce Forum c'est Ti, je ne suis que prestidigitateur !

Bon sans faire de test je vois que la Column(1, i) est très mal barrée !!! LoL (C'est grave Docteur !! lol)

En effet i démarrant à 23 dans la boucle...

Donc je propose :
   For i = 21 To L
     With Me.ComboBox2
      .ColumnCount = 2
      .ColumnWidths = "40;40"
      .AddItem ActiveSheet.Range("D" & i + 2)
      .Column(1, x) = ActiveSheet.Range("J" & i + 2)
     End With
   x = x + 1
   Next i

En prenant soin de déclarer X (Dim x As Integer)

Tu noteras aussi que je sors le ".ListIndex = 0" De cette boucle, fais ceci une ligne plus bas une fois sorti de la boucle... avant le End Sub
Me.ComboBox2.ListIndex = 0

Je ne sais pas si il y a d'autres trucs à faire je ne peux ouvrir de fichier pourle moment

Bon Appétit (je file déjeuner)
@+Thierry
 
J

juliette

Guest
re-bonjour Thierry et le forum

j'ai repris ton code et en tatonnant j'ai réussi à obtenir ce dont je voulais.
j'ai supprimé les parties du code correpondant à -2 et +2 et ça a fonctionné comme sur des roulettes.
en effet, en laissant ces informations je n'avais qu'une seule donnée dans mon combobox au lieu de 3.
ce qui était tout à fait normal!


Je te remercie beaucoup mon ton aide "oh prestidigitateur" (puisqu'il faut rendre à Ti ce qui appartient à Ti) :eek:)

merci encore et longue vie au Forum... qu'est ce qu'on ferait sans lui, sans vous?! ;-)
 

Discussions similaires

Statistiques des forums

Discussions
312 495
Messages
2 088 966
Membres
103 993
dernier inscrit
Essens