[VBA] Problème de code Macro de Selection
Lasthom
Messages postés
2
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis stagiaire dans une boite et afin de faciliter la vie à mon maître de stage, je lui créer un fichier excel presque tout automatisé.
J'ai créer une ComboBox qui liste les éléments d'une colonne et je voulais que, lorsque je selectionne un élément dans la liste, cela me selectionne les cellules remplies de la ligne correspondante.
Mon code est surement incorrect pour ce que je veux faire et en plus j'ai un problème sur la ligne en gras pouvez-vous m'aider ?
Merci pour vos réponses
Lafsthom
Je suis stagiaire dans une boite et afin de faciliter la vie à mon maître de stage, je lui créer un fichier excel presque tout automatisé.
J'ai créer une ComboBox qui liste les éléments d'une colonne et je voulais que, lorsque je selectionne un élément dans la liste, cela me selectionne les cellules remplies de la ligne correspondante.
Mon code est surement incorrect pour ce que je veux faire et en plus j'ai un problème sur la ligne en gras pouvez-vous m'aider ?
Private Sub CommandButton2_Click()
Dim crit
Dim lg As Byte
Dim Table As Range
crit = ComboBox1.Value
Set Table = ActiveSheet.Range("B6:B26" & ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row)
lg = Table.Find(crit, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True).Row
Range("B" & lg & ":" & lg).Select
Unload Me
End Sub
Merci pour vos réponses
Lafsthom
A voir également:
- [VBA] Problème de code Macro de Selection
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
1 réponse
Bonjour,
Bizarre le :
Que cherches tu à déterminer???
S'il s'agit d'une plage de recherche délimitée par : Cellule B6 jusqu'à dernière cellule col B :
1- le code est faux,
2- il est inutile.
Pour info, un code plus juste serait :
Mais, puisqu'il n'est pas utile de sélectionner la plage de recherche, voici ton code avec annotations :
Bizarre le :
Set Table = ActiveSheet.Range("B6:B26" & ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row)
Que cherches tu à déterminer???
S'il s'agit d'une plage de recherche délimitée par : Cellule B6 jusqu'à dernière cellule col B :
1- le code est faux,
2- il est inutile.
Pour info, un code plus juste serait :
Set Table = ActiveSheet.Range("B6:B" & ActiveSheet.Range("B65536").End(xlUp).Row)
Mais, puisqu'il n'est pas utile de sélectionner la plage de recherche, voici ton code avec annotations :
Private Sub CommandButton2_Click()
Dim crit 'As quoi??? String? Double? Long? Variant?
'Dim lg As Byte
Dim lg As Long 'Byte est une variable limitée à 255.
'Si tu as plus de 255 lignes il vaux mieux choisir Integer voir Long...
crit = ComboBox1.Value
lg = ActiveSheet.Columns(2).Find(crit, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True).Row
Range("B" & lg).Select 'si tu ne souhaites sélectionner qu'une cellule
'Rows(lg).Select 'permet de sélectionner toute la ligne
Unload Me
End Sub