VBA - Commandbutton
Résolu
Tehani_t
Messages postés
245
Statut
Membre
-
Tehani_t Messages postés 245 Statut Membre -
Tehani_t Messages postés 245 Statut Membre -
Bonjour,
J'ai un classeur (excel), dans une feuille (Feuil1) j'ai un tableau (matricule, civilite, nom, prenom, etc) et un bouton. J'aimerais que celui ci lors d'un click, un inputbox s'affiche et me demande de saisir un matricule. Lorsque je le saisi, le programme recherche le matricule dans une autre feuille (Feuil2 par exemple) et mets toute la ligne en surbrillance ou sélectionne la cellule dans laquelle se trouve le matricule.
Je ne connais pas VBA, qui peut m'aider SVP...
J'ai un classeur (excel), dans une feuille (Feuil1) j'ai un tableau (matricule, civilite, nom, prenom, etc) et un bouton. J'aimerais que celui ci lors d'un click, un inputbox s'affiche et me demande de saisir un matricule. Lorsque je le saisi, le programme recherche le matricule dans une autre feuille (Feuil2 par exemple) et mets toute la ligne en surbrillance ou sélectionne la cellule dans laquelle se trouve le matricule.
Je ne connais pas VBA, qui peut m'aider SVP...
6 réponses
-
Re le forum
Voila un exemple : Recherche_VBA.xls
Mytå-
Alors, je t'expose mon pb. Prenons ton fichier. Dans Feuil1 lorsqu'on me demande de saisir un matricule, il faut que le programme aille dans la feuille Base et sélectionne ou met en surbrillance une certaine ligne sachant que dans la 1ere colonne de cette ligne on retrouvera le matricule.
En tout cas merci pour ton aide !
-
-
Je ne comprend pas ce qui ne te convient pas !
La macro de Mytå répond exactement à la demande que tu as exprimé dans ton poste du 14 jui 2010 à 03:14 !
Soit plus explicite dans ton expression de besoin, évite les « ou je ne sais quoi »,
précise ce que tu appelle « surbrillance », c'est pas nous qui allons deviner.
-
Est-ce cela que tu veux ?
Private Sub CommandButton1_Click() Dim Message, Title, Default, MyValue Dim C As Object, Lig_Trouve As Integer ' Définit le message. Message = "Entrez le matricule a rechercher" Title = "Démonstration de InputBox" ' Définit le titre. Default = "" ' Définition la valeur par défaut. ' Affiche le message, le titre et la valeur par défaut. MyValue = InputBox(Message, Title, Default) If MyValue = "" Then Exit Sub 'cherche l'occurence dans la colonne A de la Base Set C = Sheets("Base").Columns(1).Find(MyValue, LookIn:=xlValues, lookat:=xlWhole) 'Si elle est trouvée, sélectionne la ligne du tableau If Not C Is Nothing Then Sheets("Base").Select Sheets("Base").Rows(C.Row).Select End If End Sub -
ohlala ok !!!
je voulais seulement que selon le matricule saisi, si celui ci existe dans "base" que la ligne correspondante sois mise en évidence (focus, en couleur, en gras, bref). Et j'ai testé avec le code de Myta, mais il n'y a eu aucun résultat.
Lorsque je lancais le programme, on me demandait bien de saisir le matricule mais c'est tout ! -
-
-
Salut le forum
Un début de piste'cherche l'occurence dans la colonne J Set c = Columns(10).Find(Ta_Valeur, LookIn:=xlValues) 'Si elle est trouvé, renseigne Lig_Trouve avec le N° de ligne If Not c Is Nothing Then Lig_Trouve = c.Row
Mytå
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)] -
Re Tehani
Remplace mon code par celui-ci
Private Sub CommandButton1_Click() Dim Message, Title, Default, MyValue Dim C As Object, Lig_Trouve As Integer ' Définit le message. Message = "Entrez le matricule a rechercher" Title = "Démonstration de InputBox" ' Définit le titre. Default = "1" ' Définition la valeur par défaut. Sheets("Base").Range("A1").CurrentRegion.Interior.ColorIndex = xlNone ' Affiche le message, le titre et la valeur par défaut. MyValue = InputBox(Message, Title, Default) 'cherche l'occurence dans la colonne A de la Base Set C = Sheets("Base").Columns(1).Find(MyValue, LookIn:=xlValues) 'Si elle est trouvé, renseigne le tableau If Not C Is Nothing Then With Sheets("Base") .Range(.Cells(C.Row, 1), .Cells(C.Row, 3)).Interior.ColorIndex = 3 End With End If End Sub
Mytå
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)] -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re le forum
Remplace.Range(.Cells(C.Row, 1), .Cells(C.Row, 3)).Interior.ColorIndex = 3
Par.Range(.Cells(C.Row, 1), .Cells(C.Row, 3)).Select
Et supprime la ligneSheets("Base").Range("A1").CurrentRegion.Interior.ColorIndex = xlNone
Mytå
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)] -
Re le forum
Tehani, tes matricules à touver sont bien sur la feuille "Base" en Colonne A
Si ce n'est pas le cas, modifie la ligne'cherche l'occurence dans la colonne A de la Base Set C = Sheets("Base").Columns(1).Find(MyValue, LookIn:=xlValues, lookat:=xlWhole)
Change le 1 de Columns par l'équivalent de ta colonne (B=2, C=3 ...)
Mytå