double pb vb excel - VB/VBA/VBS - Programmation
Marsh Posté le 14-06-2004 à 22:48:47
Tout d'abord je demande à l'utilisateur de saisir un numéro de service(de type string) et ensuite il choisit s'il veut afficher juste ce service ou tout les service commançant par ce kil a saisit... Comment faire??? Si kkun a une solution ça serait cool
Marsh Posté le 14-06-2004 à 22:51:00
Et ensuite le 2ème: l'utilisateur saisi des info (Nom Prénom...ect) et l'enregistre dans une feuil excel. Le pb est ke le dernier enregistrement ecrase le précedent... l'enregistrement se fait sur la même ligne... Une idée??? Merci d'avance
Marsh Posté le 15-06-2004 à 12:00:03
pour ton pb d'affichage il y a deux solutions :
soit un filtre :
dim xlwks as excel.worksheet
set xlwks = activesheet (ou autre feuille)
xlwks.Range(de ton tableau).Select exemple range("A1:E89" )
Selection.AutoFilter Field:=1 (la colonne pour le filtre), Criteria1:=valur saisi & "*" (cherchera tout ce qui commence par "valeur saisie" ), Operator:=xlAnd
ou alor tu supprime toutes les lignes qui ne contiennes pas ce que tu veux :
dim longueur,compteur as integer
longueur = len(la cellue ou textbox...où est sont saisi le champs de recherhce)
compteur = 0
for i = debu de ta bleau to fin de ton tableau
if mid(xlwks.cells(i-compteur,colonne du champs service),1,longueur) <> cellule de saisie then
xlwks.cells(i-compteur,colonne du champs service).entirerow.delete
compteur = compteur + 1
end if
next i
le compteur est nécessaire car tu supprime une ligne
ex : je supprime la ligne 25 alors la ligne 26 devien 25...
Marsh Posté le 15-06-2004 à 14:09:27
Merci je v essayer dessuite.
G réussi à résoudre le 2ème pb :-)
Marsh Posté le 16-06-2004 à 09:43:50
g un pb sur cette ligne:
xlwks.Range("A1:W25" ).Select
message d'erreur: select method of range class failed
Marsh Posté le 17-06-2004 à 09:51:11
tu as bien défini au début :
dim xlwks as excel.worksheet
set xlwks = activesheet
quand tu écris juste : xlwks.
VB te propose plusieurs solutions ?
Marsh Posté le 17-06-2004 à 12:41:32
esseye peut etre
xlwks.range(xlwks.cells(1,1),xlwks.cells(25,23)).select
Marsh Posté le 21-06-2004 à 11:29:48
Salut g pas pu répondre plus tot car pb d'internet, mais g tjrs le même pb ecel par contre
G bien défini dim xlwks as excel.worksheet et set xlwks = activesheet.
Qd je tape xlwks. il y a plusieurs propositions donc me suis pas trompé là, et la méthode avec range ne change rien au pb.
Je me demande si le pb ne viens pas de l'activsheet. En fait mon bouton se trouve sur la feuille "Menu", mais le pgm est sensé faire une recherche dans une autre feuille nommée "Base"... c peut être ça, si oui kel est la solution?
Marsh Posté le 23-06-2004 à 14:14:52
toinix a écrit : Personne n'a de solution alors??? |
Ben si. Active ta feuille.
Code :
|
Marsh Posté le 23-06-2004 à 14:26:11
Oki ça marche mais ça fait pas du tout ce ke je voudrais ke ça fasse... Je voudrais ke qd le gars clique sur OK, tout les services commençant par ce kil a saisit s'affiche...
Je v devenir fou ragnagna
Marsh Posté le 23-06-2004 à 14:35:19
Ben tu sélectionnes les cellules qui contiennent les noms de services, tu boucles dessus et tu compares le contenu avec ce que le "gars" a saisi à l'aide de l'opérateur LIKE.
Marsh Posté le 14-06-2004 à 22:46:24
Salut à tous,
bon g 2 souçis en programmation VB Excel...
Explication: