Selection de colonne via une combobox

Sparf Messages postés 4 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 28 février 2006 - 27 févr. 2006 à 12:49
Sparf Messages postés 4 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 28 février 2006 - 28 févr. 2006 à 09:49
Bonjour à tous.

J'ai réalisé une macros de tri sur une colonne que rentre l'utilisateur.
J''aimerais faire une liste des entêtes de mes colonnes dans une combobox d'un formulaire. Ainsi l'utilisateur n'aura plus qu'à sélectionner la colonne à traiter (j'ai juste besoin de la lettre de la colonne), et un bouton "ok" qui lancera ma macro.

2 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
27 févr. 2006 à 17:25
Bonjour,

Bon, je vais essayer de t'expliquer mon exemple.(3 colonnes)

Dans la colonne A, en A1 j'ai mis Nom, dans la colonne B, en B1 Prénom et dans la colonne C, en C1 j'ai mis Adresse.

Pour récupérer les noms dans le Combobox,



Private Sub UserForm_Initialize()

Dim cell, PlageTest

Set PlageTest = Range("A1:H1")



For Each cell In PlageTest

If cell.Value <> "" Then

UserForm1.ComboBox1.AddItem cell

End If

Next

End Sub



Pour sélectionner les colonnes.



Private Sub ComboBox1_Click()

Select Case ComboBox1.ListIndex

Case 0 'Nom

Columns("A").Select

'ici ton code de macro

Case 1 'Prénom

Columns("B").Select

'ici ton code de macro

Case 2 'Adresse

Columns("C").Select

'ici ton code de macro

End Select

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée
0
Sparf Messages postés 4 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 28 février 2006
28 févr. 2006 à 09:49
Tout d'abord merci de ta réponse.

Ma feuille de calcul comporte une série d'entête continu en ligne 1 et une quantité variable de donnée sur les ligne suivante (+ des 1000 lignes).

Le nombre d'entêtes est également variable (dans les 10-30 en moyenne).

D'autre part, le module que j'ai créé pour l'exécution des calculs fait dans les 260 lignes. Le mieux serait d'appeler la macro. L'ennuie, je ne sais pas faire le passage de paramètres. Ma macro a besoin 1 seule chose, la lettre de la colonne choisi.

Sinon je n'ai pas réussi à appeler correctement le formulaire. Désolé de demander des choses aussi basique mais le VBA et moi ça fait 2 à l'origine, j'essaie de m?y mettre mais c'est dur même avec les excellent tutoriaux présent sur le forum? J'ai tester un simple userform.show (ça marche 1 fois après ça bug), userform.enabled = true me génère aussi une erreur? Je dois mal les utiliser !

Sinon pour le 1er code je l'ai un peu modifié pour qu'il prennent en compte toutes les colonnes en mettant un - Range("a1", Selection.End(xlToLeft)).Select -
0
Rejoignez-nous