VB Excel petite aide
Résolu/Fermé
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
-
13 janv. 2010 à 20:21
Prince Mehdi Messages postés 34 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 10 mars 2011 - 26 janv. 2010 à 09:54
Prince Mehdi Messages postés 34 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 10 mars 2011 - 26 janv. 2010 à 09:54
A voir également:
- VB Excel petite aide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
41 réponses
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
13 janv. 2010 à 23:09
13 janv. 2010 à 23:09
bonjour,
alors premier truc, pr ta premiere procédure, tu peux aussi utiliser un structure select case..when... :
select case CTA
when 1 then MsgBox "Filtres : media en carton 180 * 50" & vbcrlf & "Courroies : Texrope VP2"
when 2 blablablabla
end select
(au passage j'ai tt mis ds une seule msgbox avec un retour charriot)
ensuite "avoir le message et la réponse sur un meme bouton" : là j'ai pas bien compris.... :s
qqes question spour le 2eme programme : qd ton utilisateur l'execute, dans quel classeur/feuille se trouve-t-il ?
derniere question : pourquoi ne pas faire "tout en un", un programme qui demande le CTA, affiche les ref en msgbox, ouvre ton fichier de stocks et mets la ligne en surbrillance (ou "filtre" cette ligne) ?
alors premier truc, pr ta premiere procédure, tu peux aussi utiliser un structure select case..when... :
select case CTA
when 1 then MsgBox "Filtres : media en carton 180 * 50" & vbcrlf & "Courroies : Texrope VP2"
when 2 blablablabla
end select
(au passage j'ai tt mis ds une seule msgbox avec un retour charriot)
ensuite "avoir le message et la réponse sur un meme bouton" : là j'ai pas bien compris.... :s
qqes question spour le 2eme programme : qd ton utilisateur l'execute, dans quel classeur/feuille se trouve-t-il ?
derniere question : pourquoi ne pas faire "tout en un", un programme qui demande le CTA, affiche les ref en msgbox, ouvre ton fichier de stocks et mets la ligne en surbrillance (ou "filtre" cette ligne) ?
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
14 janv. 2010 à 09:45
14 janv. 2010 à 09:45
Déjà merci pour votre réponse tompols.
Effectivement la structure select est plus intéressante et plus claire je ne la connaissais pas. Pour ce que vous n'avez pas compris, en fait je voulais savoir si l'utilisateur peut rentrer la CTA et les réponses s'affiche directement dans le même bouton mais c'est sans grand intérêt.
Pour l'idée du Tout en un c'est serait vraiment bien si j'arrivais à le faire c'est une bonne idée. Mais comment faire pour que le fichier de stock s'ouvre automatiquement après l'exécution de la première partie. Puis il faudrait que mon programme me permette de surligner la ligne dans le fichier de stock. En fait dans mon fichier de stocks, j'ai inscrit pour chaque élément une référence. Par exemple pour un filtre en carton de 180 * 56 la référence est filca18056. j'aimerai que l'utilisateur tape cetet référence et le programme surligne toute la ligne correspondante à cette référence.
Pour ma feuille de gestion de stocks c'est un fichier excel à part entière et j'ouvre une procédure à partir de ce fichier.
Effectivement la structure select est plus intéressante et plus claire je ne la connaissais pas. Pour ce que vous n'avez pas compris, en fait je voulais savoir si l'utilisateur peut rentrer la CTA et les réponses s'affiche directement dans le même bouton mais c'est sans grand intérêt.
Pour l'idée du Tout en un c'est serait vraiment bien si j'arrivais à le faire c'est une bonne idée. Mais comment faire pour que le fichier de stock s'ouvre automatiquement après l'exécution de la première partie. Puis il faudrait que mon programme me permette de surligner la ligne dans le fichier de stock. En fait dans mon fichier de stocks, j'ai inscrit pour chaque élément une référence. Par exemple pour un filtre en carton de 180 * 56 la référence est filca18056. j'aimerai que l'utilisateur tape cetet référence et le programme surligne toute la ligne correspondante à cette référence.
Pour ma feuille de gestion de stocks c'est un fichier excel à part entière et j'ouvre une procédure à partir de ce fichier.
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
14 janv. 2010 à 10:22
14 janv. 2010 à 10:22
re,
aucun mais une question encore : ds le fichier stock, l'utilisateur doit taper la ref et ça met la ligne en surbrillance => c pas tres pratique pour l'utilisateur ça, il va devoir parcourir le fichier pour retrouver sa ligne, en plus ça nous oblige à gere le retour en couleur normale....pourquoi pas juste un filtre automatique ? l'avantage que l'utilisateur n'a pas à saisir (pas de possibilité de faute de frappe) mais juste à choisir la ref ds une liste déroulante, et seule la ligne concernée sera affichée...
apres qd je te lis, jme dis qu'on peut aussi determiner la ref dès ton premier code, ensuite ouvrir ton fichier stock (Workbooks.Open Filename:="D:\magestiondestock.xls")et filtrer la ligne concernée non ? en mode Tout En Un....
ça ferait un truc du genre :
'utilisation du filtre automatique à voir ds l'aide vba....
au passage dsl mais j'm'étais un peu mélangé avec la syntaxe du CASE...WHEN en SQL, la synjtaxe ci-dessus est correcte....
aucun mais une question encore : ds le fichier stock, l'utilisateur doit taper la ref et ça met la ligne en surbrillance => c pas tres pratique pour l'utilisateur ça, il va devoir parcourir le fichier pour retrouver sa ligne, en plus ça nous oblige à gere le retour en couleur normale....pourquoi pas juste un filtre automatique ? l'avantage que l'utilisateur n'a pas à saisir (pas de possibilité de faute de frappe) mais juste à choisir la ref ds une liste déroulante, et seule la ligne concernée sera affichée...
apres qd je te lis, jme dis qu'on peut aussi determiner la ref dès ton premier code, ensuite ouvrir ton fichier stock (Workbooks.Open Filename:="D:\magestiondestock.xls")et filtrer la ligne concernée non ? en mode Tout En Un....
ça ferait un truc du genre :
Select Case CTA Case 1 MsgBox "Filtres : media en carton 180 * 50" & vbCrLf & "Courroies : Texrope VP2" ref = filca18050 Case 2 blablabla End Select Workbooks.Open Filename:="D:\messtock.xls" Set feuilstock = Workbooks("mestocks.xls").Sheets("stock") feuilstock.AutoFilterMode = True
'utilisation du filtre automatique à voir ds l'aide vba....
au passage dsl mais j'm'étais un peu mélangé avec la syntaxe du CASE...WHEN en SQL, la synjtaxe ci-dessus est correcte....
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
14 janv. 2010 à 10:48
14 janv. 2010 à 10:48
pour le cas ou l'utilisateur saisirai soit un chiffre soit un mot genre auditorium tu remplace le type de CTA de integer vers string (un chiffre en string restera un chiffre mais laissera la possibilité a la variable d'avoir des lettres). par contre je ne sais pas si l'on peut utiliser un or dans un select case, si ce n'est pas possible tu peu utiliser tes if et mettre "if CTA="1" or CTA="auditorium" then ... "
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
14 janv. 2010 à 11:07
14 janv. 2010 à 11:07
re,
pas de pb pour evaluer des strings avec select case mais pas de OR (!?) plutot des CASE ( CASE 1 blablabla CASE "auditorium" blablabla etc)....
pas de pb pour evaluer des strings avec select case mais pas de OR (!?) plutot des CASE ( CASE 1 blablabla CASE "auditorium" blablabla etc)....
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
14 janv. 2010 à 11:14
14 janv. 2010 à 11:14
le OR c'est pour que le 1 et le auditorium soit sur une même ligne et ai ainsi un seul message de retour (c'est juste par soucis d'économie de place ^^)
mais je doute qu'il n'y ai pas de probleme pour le string dans le select case si la variable est un integer (c'est peut etre qu'une répétition inutile de ma part)
mais je doute qu'il n'y ai pas de probleme pour le string dans le select case si la variable est un integer (c'est peut etre qu'une répétition inutile de ma part)
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
14 janv. 2010 à 11:19
14 janv. 2010 à 11:19
re,
pour la meme ligne :
Case "1", "bla" (separer les differents case par des virugules)
"mais je doute qu'il n'y ai pas de probleme pour le string dans le select case si la variable est un integer (c'est peut etre qu'une répétition inutile de ma part) " là le probleme n'est pas le select case mais est en amont, au niveau de la variable : essayer de stocker une string ds une variable integer renverra une erreur (incompatibilité de type)
pour la meme ligne :
Case "1", "bla" (separer les differents case par des virugules)
"mais je doute qu'il n'y ai pas de probleme pour le string dans le select case si la variable est un integer (c'est peut etre qu'une répétition inutile de ma part) " là le probleme n'est pas le select case mais est en amont, au niveau de la variable : essayer de stocker une string ds une variable integer renverra une erreur (incompatibilité de type)
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
14 janv. 2010 à 11:31
14 janv. 2010 à 11:31
c'est bien on est sur la même longueur d'onde ^^
donc pour résumer:
- premiere question:
comment avoir un type qui fonctionne pour des chiffres mais aussi des caractères ? changer le type de CTA en string (et par la même occasion utiliser un select case)
- pour la deuxième question:
d'après ce que j'ai compris de la proposition de tompols ca serai de faire un tri
mais a ta place j'aurai fait une interface graphique (sur excel via vba) pour que l'utilisateur puisse choisir sa référence ou son cta par un combobox (liste déroulante), et ainsi lors du clic sur le bouton de validation, donner toutes les info juste en dessous
dans l'avenir ca pourrai permettre de rajouter des fonctionnalité aisément via des onglets ou des boutons supplémentaire, d'effectuer des tri sur un ou plusieurs critère, etc...
donc pour résumer:
- premiere question:
comment avoir un type qui fonctionne pour des chiffres mais aussi des caractères ? changer le type de CTA en string (et par la même occasion utiliser un select case)
- pour la deuxième question:
d'après ce que j'ai compris de la proposition de tompols ca serai de faire un tri
mais a ta place j'aurai fait une interface graphique (sur excel via vba) pour que l'utilisateur puisse choisir sa référence ou son cta par un combobox (liste déroulante), et ainsi lors du clic sur le bouton de validation, donner toutes les info juste en dessous
dans l'avenir ca pourrai permettre de rajouter des fonctionnalité aisément via des onglets ou des boutons supplémentaire, d'effectuer des tri sur un ou plusieurs critère, etc...
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
14 janv. 2010 à 11:46
14 janv. 2010 à 11:46
re,
pour le 1, dsl j'avais pas vu l'histoire de typage....string c bien
pour le 2 ma propal était de faire un filtre pas un tri
apres j'essayais de faire simple, sinon on peut imaginer stocker les valeurs possibles de CTA ds une table (avec les refs correspondantes), une table des ref (code, description -type si nécessaire ?- ), un table stock, une table mouvement de stock etc....mais là on s'oriente vers du dev d'appli avec base de données (plus propre, plus "pro" mais plus long à faire et on repart à zéro)...y'a aussi la piste avec un userform et des tableaux excel, à mi-chemin entre les 2 (j'aime pas trop, pour moi soit on bricole, soit on fait une solution plus "industrialisée", un trop gros "bricolage" amène peu de retour sur investissement, et la maintenance pose souvent probleme.....)
pour le 1, dsl j'avais pas vu l'histoire de typage....string c bien
pour le 2 ma propal était de faire un filtre pas un tri
apres j'essayais de faire simple, sinon on peut imaginer stocker les valeurs possibles de CTA ds une table (avec les refs correspondantes), une table des ref (code, description -type si nécessaire ?- ), un table stock, une table mouvement de stock etc....mais là on s'oriente vers du dev d'appli avec base de données (plus propre, plus "pro" mais plus long à faire et on repart à zéro)...y'a aussi la piste avec un userform et des tableaux excel, à mi-chemin entre les 2 (j'aime pas trop, pour moi soit on bricole, soit on fait une solution plus "industrialisée", un trop gros "bricolage" amène peu de retour sur investissement, et la maintenance pose souvent probleme.....)
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
14 janv. 2010 à 13:54
14 janv. 2010 à 13:54
Merci garion28. L'idée du combobox est intéressante mais je ne sais pas comment elle fonctionne. Et d'après ce que j'ai compris tompols, une fois que le programme a ouvert mon fichier, il faut utiliser le filtre automatique pour pouvoir effectuer une recherche de la référence dans la feuille Excel.
Tompols:
"ds le fichier stock, l'utilisateur doit taper la ref et ça met la ligne en surbrillance => c pas tres pratique pour l'utilisateur ça, il va devoir parcourir le fichier pour retrouver sa ligne, en plus ça nous oblige à gere le retour en couleur normale....pourquoi pas juste un filtre automatique ? l'avantage que l'utilisateur n'a pas à saisir (pas de possibilité de faute de frappe) mais juste à choisir la ref ds une liste déroulante, et seule la ligne concernée sera affichée... "
Pour les références, en fait elles sont logiques, si le technicien maintenance a besoin d'un filtre 280 * 56, la référence est: 28056. Je pense que c'est plsu pratqieu de la chercher dans un menu déroulant puisqu'il n'y a pas besoin de chercher dans ce cas. Je pensais faire un programme qui en fonction de la référence rentrée surligne la ligne correspondante dans la feuille.
Pour mon second programme j'ai l'idée mais pas la structure...
PublicSub Recherche ( )
Dim ref As String
ref = inputbox ("Quelle est votre référence ?")
Select case ref
ref ...
ref ...
End Select
End Sub
Le problème c'est que mon fichier excel contient environ 200 références... -__-"
Tompols:
"ds le fichier stock, l'utilisateur doit taper la ref et ça met la ligne en surbrillance => c pas tres pratique pour l'utilisateur ça, il va devoir parcourir le fichier pour retrouver sa ligne, en plus ça nous oblige à gere le retour en couleur normale....pourquoi pas juste un filtre automatique ? l'avantage que l'utilisateur n'a pas à saisir (pas de possibilité de faute de frappe) mais juste à choisir la ref ds une liste déroulante, et seule la ligne concernée sera affichée... "
Pour les références, en fait elles sont logiques, si le technicien maintenance a besoin d'un filtre 280 * 56, la référence est: 28056. Je pense que c'est plsu pratqieu de la chercher dans un menu déroulant puisqu'il n'y a pas besoin de chercher dans ce cas. Je pensais faire un programme qui en fonction de la référence rentrée surligne la ligne correspondante dans la feuille.
Pour mon second programme j'ai l'idée mais pas la structure...
PublicSub Recherche ( )
Dim ref As String
ref = inputbox ("Quelle est votre référence ?")
Select case ref
ref ...
ref ...
End Select
End Sub
Le problème c'est que mon fichier excel contient environ 200 références... -__-"
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
14 janv. 2010 à 14:04
14 janv. 2010 à 14:04
pour manipuler un combobox c'est combobox.additem(item) tu peu trouver la syntaxe et d'autre aide pour ca facilement sur internet
le tout c'est de parcourir toutes les référence et les mettres dans la combobox a l'ouverture du fichier ou bien a un certain moment (après je ne sais plus si ca peu se faire direct ou bien si l'on doit utiliser un tableau
après pour le nombre de ref et le select case, je ne sais pas si tu peu mettre une boucle dans le select case afin de ne pas avoir a écrire tout les cases. mais pour moi ce n'est pas très pratique pour 200 ref puisque ca peu nécessiter une mise en page au cas par cas
le tout c'est de parcourir toutes les référence et les mettres dans la combobox a l'ouverture du fichier ou bien a un certain moment (après je ne sais plus si ca peu se faire direct ou bien si l'on doit utiliser un tableau
après pour le nombre de ref et le select case, je ne sais pas si tu peu mettre une boucle dans le select case afin de ne pas avoir a écrire tout les cases. mais pour moi ce n'est pas très pratique pour 200 ref puisque ca peu nécessiter une mise en page au cas par cas
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
14 janv. 2010 à 14:30
14 janv. 2010 à 14:30
OK merci pour la réponse ^^ Est ce que un Fo pour des c ellules ça marche. Par exemple:
...
ref = inputbox ("Quelle référence ?")
For CellsB2 to CellsB156
Surligner la ligne de la référence rentrée
...
J'ai cette idée pour le moment sinon je pense qu'il faudra faire au cas par cas... TT_TT
...
ref = inputbox ("Quelle référence ?")
For CellsB2 to CellsB156
Surligner la ligne de la référence rentrée
...
J'ai cette idée pour le moment sinon je pense qu'il faudra faire au cas par cas... TT_TT
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
14 janv. 2010 à 14:35
14 janv. 2010 à 14:35
avec cette syntaxe ce n'est pas possible mais tu peu faire
for i=1 to 156
'ton traitement
fin for
for i=1 to 156
'ton traitement
fin for
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
14 janv. 2010 à 14:53
14 janv. 2010 à 14:53
re, pour ton 2eme code, tu peux faire un truc comme ça :
le probleme est qu'il va te falloir gerer le retour à une couleur normale à la fermeture du classeur....
avec un filtre :
Public Sub Recherche() Dim ref As String ref = InputBox("Quelle est votre référence ?") derlig = Range("B65536").End(xlUp).Row For i = 2 To derlig 'la premiere ligne contient les titres de colonnes If Range("A" & i).Value = ref Then Rows(i).Interior.ColorIndex = 6 End If Next i End Sub
le probleme est qu'il va te falloir gerer le retour à une couleur normale à la fermeture du classeur....
avec un filtre :
Sub Recherche() Dim ref As String ref = InputBox("Quelle est votre référence ?") Application.ScreenUpdating = False If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False End If Rows("1:1").AutoFilter Selection.AutoFilter Field:=1, Criteria1:=ref Application.ScreenUpdating = True End Sub
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
14 janv. 2010 à 15:44
14 janv. 2010 à 15:44
Merci Tompols mais je ne comprends cette ligne du code:
derlig = Range("B65536").End(xlUp).Row
En fait le premier FOR permet de passer en revue toutes les références.
Le IF qui suit sert à quoi ?
pour le retour à la couleur normale, c'est une deuxième procédure associée à la première que tu asécrite ? Je ne comprends pas un gros passage du code:
Application.ScreenUpdating = False
If ActiveSheet.AutoFilterMode = True Then
ActiveSheet.AutoFilterMode = False
End If
Rows("1:1").AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=ref
Application.ScreenUpdating = True
Merci pour ton aide ^^
derlig = Range("B65536").End(xlUp).Row
En fait le premier FOR permet de passer en revue toutes les références.
Le IF qui suit sert à quoi ?
pour le retour à la couleur normale, c'est une deuxième procédure associée à la première que tu asécrite ? Je ne comprends pas un gros passage du code:
Application.ScreenUpdating = False
If ActiveSheet.AutoFilterMode = True Then
ActiveSheet.AutoFilterMode = False
End If
Rows("1:1").AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=ref
Application.ScreenUpdating = True
Merci pour ton aide ^^
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
14 janv. 2010 à 15:54
14 janv. 2010 à 15:54
derlig = Range("B65536").End(xlUp).Row
sert a trouver la derniere ligne vide a partir de la fin du fichier, c'est une fonction de vba
Le IF qui suit sert à quoi ?
il sert a surligner la ligne quand elle correspond avec ref
sert a trouver la derniere ligne vide a partir de la fin du fichier, c'est une fonction de vba
Le IF qui suit sert à quoi ?
il sert a surligner la ligne quand elle correspond avec ref
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
14 janv. 2010 à 16:18
14 janv. 2010 à 16:18
alors :
- "pour le retour à la couleur normale, c'est une deuxième procédure associée à la première que tu asécrite ?" => en fait je l'ai pas écrite mais il s'agirait de créer une procedure evenementielle (Private Sub Workbook_BeforeClose(Cancel As Boolean)) qui parcours les lignes avant la fermeture du classeur et si la couleur est celle définie ds la premiere macro(ColorIndex = 6), remet en non-colorisé...j'l'ai pasécrite parceque c'est vraiment pas ma piste préferée et puis fo bien que tu bosses un peu, sinon ds pas lgtps on te retrouve sur le forum avec les memes question :p
-explication du code
voilà....
- "pour le retour à la couleur normale, c'est une deuxième procédure associée à la première que tu asécrite ?" => en fait je l'ai pas écrite mais il s'agirait de créer une procedure evenementielle (Private Sub Workbook_BeforeClose(Cancel As Boolean)) qui parcours les lignes avant la fermeture du classeur et si la couleur est celle définie ds la premiere macro(ColorIndex = 6), remet en non-colorisé...j'l'ai pasécrite parceque c'est vraiment pas ma piste préferée et puis fo bien que tu bosses un peu, sinon ds pas lgtps on te retrouve sur le forum avec les memes question :p
-explication du code
Application.ScreenUpdating = False ' => désactive le rafraichissement écran, du coup c plus rapide et ça clignote pas de partout :) If ActiveSheet.AutoFilterMode = True Then '=>la je teste si le filtre auto est déjà activé ActiveSheet.AutoFilterMode = False '=>si oui, je le désactive pour éviter des erreurs par la suite(ouaip jme suis pas cassé trop la tete desactiver plutot que gerer des erreurs....). End If Rows("1:1").AutoFilter '=> active le filtre automatique Selection.AutoFilter Field:=1, Criteria1:=ref '=>filtre sur le premier champ du tableau avec la valeur de ref Application.ScreenUpdating = True ' =>réactive l'affichage
voilà....
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
19 janv. 2010 à 08:43
19 janv. 2010 à 08:43
Très bien merci pour vos réponses je vais déjà commencer par faire ces procédures pour voir ce que ça donne. Je vous iens au courant ;-) Merci encore. :)
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
19 janv. 2010 à 09:10
19 janv. 2010 à 09:10
Voici les 2 procédures que j'ai tapées pour le moment:
Public Sub Filtres_courroies()
Dim CTA As String
CTA = InputBox("Sur quelle C.T.A. voulez-vous intervenir ?")
Select Case CTA
Case 1
MsgBox "FILTRES" & vbCrLf & "dimensions: 180*550" & vbCrLf & vbCrLf & "COURROIES" & vbCrLf & "désignation: 1900 SPZ"
Case 2
MsgBox "FILTRES" & vbCrLf & "dimensions: 1800*5500" & vbCrLf & vbCrLf & "COURROIES" & vbCrLf & "désignation: 1900 SPA"
End Select
End Sub
Public Sub recherche()
Dim ref As String
ref = InputBox("Quelle est la référence de l'élément que vous recherchez ?")
For i = 5 To 165 Step 1
For j = 2 To 12 Step 1
If Range("A" & i & j).Value = ref Then
Rows(i & j).InteriorColorIndex = 10
Cells(i, j).Interior.Color = RGB(185, 253, 208)
End If
Next
Next
End Sub
Mais ma deuxième procédure ne colorie pas la ligne de la référence... j'ai essayé de modifier ma procédure mais toujours rien T_T
Public Sub Filtres_courroies()
Dim CTA As String
CTA = InputBox("Sur quelle C.T.A. voulez-vous intervenir ?")
Select Case CTA
Case 1
MsgBox "FILTRES" & vbCrLf & "dimensions: 180*550" & vbCrLf & vbCrLf & "COURROIES" & vbCrLf & "désignation: 1900 SPZ"
Case 2
MsgBox "FILTRES" & vbCrLf & "dimensions: 1800*5500" & vbCrLf & vbCrLf & "COURROIES" & vbCrLf & "désignation: 1900 SPA"
End Select
End Sub
Public Sub recherche()
Dim ref As String
ref = InputBox("Quelle est la référence de l'élément que vous recherchez ?")
For i = 5 To 165 Step 1
For j = 2 To 12 Step 1
If Range("A" & i & j).Value = ref Then
Rows(i & j).InteriorColorIndex = 10
Cells(i, j).Interior.Color = RGB(185, 253, 208)
End If
Next
Next
End Sub
Mais ma deuxième procédure ne colorie pas la ligne de la référence... j'ai essayé de modifier ma procédure mais toujours rien T_T
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
19 janv. 2010 à 10:26
19 janv. 2010 à 10:26
Public Sub Filtres_courroies()
Dim CTA As String
CTA = InputBox("Sur quelle C.T.A. voulez-vous intervenir ?")
Select Case CTA
Case 1
MsgBox "FILTRES" & vbCrLf & "dimensions: 180*550" & vbCrLf & vbCrLf & "COURROIES" & vbCrLf & "désignation: 1900 SPZ"
Case 2
MsgBox "FILTRES" & vbCrLf & "dimensions: 1800*5500" & vbCrLf & vbCrLf & "COURROIES" & vbCrLf & "désignation: 1900 SPA"
End Select
End Sub
Public Sub recherche()
Dim ref As String
ref = InputBox("Quelle est la référence de l'élément que vous recherchez ?")
derlig = Range("B65536").End(xlUp).Row
For i = 5 To derlig Step 1
If Range("C" & i).Value = ref Then
Rows(i).Interior.ColorIndex = 6
End If
Next i
End Sub
Sa a l'air de marcher !! Je tape la ou les références et c'est bon. Mais le problème c'est que ça me surligne toute la ligne ... Je voudrais que ça me surligne par exemple pour j = 2 To 11, j'ai rajouté un For j et un Next j à la fin mais ça marche pas. Quelqu'un peut m'aider ?
Dim CTA As String
CTA = InputBox("Sur quelle C.T.A. voulez-vous intervenir ?")
Select Case CTA
Case 1
MsgBox "FILTRES" & vbCrLf & "dimensions: 180*550" & vbCrLf & vbCrLf & "COURROIES" & vbCrLf & "désignation: 1900 SPZ"
Case 2
MsgBox "FILTRES" & vbCrLf & "dimensions: 1800*5500" & vbCrLf & vbCrLf & "COURROIES" & vbCrLf & "désignation: 1900 SPA"
End Select
End Sub
Public Sub recherche()
Dim ref As String
ref = InputBox("Quelle est la référence de l'élément que vous recherchez ?")
derlig = Range("B65536").End(xlUp).Row
For i = 5 To derlig Step 1
If Range("C" & i).Value = ref Then
Rows(i).Interior.ColorIndex = 6
End If
Next i
End Sub
Sa a l'air de marcher !! Je tape la ou les références et c'est bon. Mais le problème c'est que ça me surligne toute la ligne ... Je voudrais que ça me surligne par exemple pour j = 2 To 11, j'ai rajouté un For j et un Next j à la fin mais ça marche pas. Quelqu'un peut m'aider ?