Activer la cellule correspondante à une selection dans une combobox (excel)

steve2vince Messages postés 11 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 17 février 2006 - 15 avril 2003 à 00:08
steve2vince Messages postés 11 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 17 février 2006 - 16 avril 2003 à 19:27
Salut tout le monde, je travaille actuellement sur un projet que je dois realiser pour mes études mais j'ai un peu de mal car je ne connais le vba que depuis deux semaines....alors si quelqu'un pouvait m'aider ce serait cool. Voici mon probleme (le 1er de la liste! ) J'ai un fichier excel qui contient dans la colonne a, des dates, et sur la ligne 1, des imprimantes.....J'ai commencé à faire une petite fenetre pour faire quelques calculs des données, et dans cette fentre il y a une combobox ou je selectionne la date que je désir, mon probleme est tout simple: lorsque je selectionne cette date dans ma combobox, je voudrai que la cellule qui correspond à cette date s'active, comment faire ?! j'ai essayé avec combobox1.value = activeCell ou des choses de ce genre mais ça n'a pas marché . Voila c'est tout ! merci pour vos réponses

4 réponses

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
15 avril 2003 à 10:44
Première option:
-------------------
L'ordre de tes dates dans ta combobox correspond exactement à l'ordre dans lequel elles sont placées sur ta feuille.

Dim Ligne As Integer
Ligne = ComboBox.ListIndex
Ligne = Ligne + 1 (ou plus 2 si les dates démarrent à la 2ème ligne)

MaFeuille.Range("A" & Ligne).Select
ou
MaFeuille.Range("A" & Ligne).Activate

Deuxième option:
--------------------
L'ordre n'est pas le même.
Alors on réceptionne la date choisie et on passe en revue toutes les cellules de la colonne jusqu'à ce qu'on tombe sur celle qu'on recherche.

Dim DateChoisie As String
DateChoisie = ComboBox.Text

Dim Ligne As Integer
For Ligne = 1 (ou 2) To MaFeuille.Range("A1").CurrentRegion.Rows.Count
If MaFeuille.Range("A" & Ligne).Text = DateChoisie Then
MaFeuille.Range("A" & Ligne).Activate
Exit Sub
End If

'Prévoir ici le code au cas où la cellule n'aurait pas été trouvée.

Voilà...
Remarque: je ne sais plus trop la différence entre Select et Activate ; mais j'ai peur que l'utilisation de Activate n'entraîne la perte du focus de ta Combobox vers la cellule => utilise d'abord Select.
0
rems02 Messages postés 101 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 21 janvier 2008 3
15 avril 2003 à 13:14
tu as essayé avec la mise en forme conditionelle
salut ;-))
0
steve2vince Messages postés 11 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 17 février 2006
15 avril 2003 à 13:43
Je te remercie pour ton conseil, je vais essayer des ce soir et je te dirai si ça a marché....
@+
0
steve2vince Messages postés 11 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 17 février 2006
16 avril 2003 à 19:27
Yesss!!!!!! merci programmix! ça marche super bien, tu peux pas savoir comme ça soulage, depuis deux semaines je galère pour le moindre truc !
MERCI encore !
0
Rejoignez-nous