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
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Aller à la ligne 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
19 janv. 2010 à 11:35
19 janv. 2010 à 11:35
Salut,
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 Range("A" & i & ":K" & i).Interior.ColorIndex = 6 End If Next i End Sub
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 à 11:50
19 janv. 2010 à 11:50
For i = 5 To derlig Step 1
If Range("C" & i).Value = ref Then
Range("C" & i & ":K" & i).Interior.ColorIndex = 6
End If
Next i
Excusez moi Tompols mais lorsque j'exécute mon programme et que je tape ma référence, il n'y a rien de surligner dans la feuille. Je ne comprends pas. J'ai mis la colonne C, colonne où se trouve mes références. Pourtant rien... T_T Et pour gérer la couleur, j'ai crée une documentation pour le technicien qui indique qu'il ne faut pas enregistrer le fichier quand il a trouvé ses filtres et ses courroies pour que la couleur ne revienne pas. Qu'en pensez vous ?
If Range("C" & i).Value = ref Then
Range("C" & i & ":K" & i).Interior.ColorIndex = 6
End If
Next i
Excusez moi Tompols mais lorsque j'exécute mon programme et que je tape ma référence, il n'y a rien de surligner dans la feuille. Je ne comprends pas. J'ai mis la colonne C, colonne où se trouve mes références. Pourtant rien... T_T Et pour gérer la couleur, j'ai crée une documentation pour le technicien qui indique qu'il ne faut pas enregistrer le fichier quand il a trouvé ses filtres et ses courroies pour que la couleur ne revienne pas. Qu'en pensez vous ?
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
19 janv. 2010 à 11:57
19 janv. 2010 à 11:57
Bonjour,
Comment est constitué le classeur de recherche ? la derniere ligne est retrouvée depuis la derniere cellule non vide en B et le code recherché est recherché dans la colonne C....
Premiere chose, modifier derlig = Range("B65536").End(xlUp).Row par derlig = Range("C65536").End(xlUp).Row
sinon un fichier exemple pourrait aider (à déposer ici si possible)...
EDIT : ce code s'applique à la feuille active par défaut, vérifier depuis quelle feuille l'utilisateur lance la procédure
Comment est constitué le classeur de recherche ? la derniere ligne est retrouvée depuis la derniere cellule non vide en B et le code recherché est recherché dans la colonne C....
Premiere chose, modifier derlig = Range("B65536").End(xlUp).Row par derlig = Range("C65536").End(xlUp).Row
sinon un fichier exemple pourrait aider (à déposer ici si possible)...
EDIT : ce code s'applique à la feuille active par défaut, vérifier depuis quelle feuille l'utilisateur lance la procédure
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 à 12:03
19 janv. 2010 à 12:03
https://www.cjoint.com/?btmezYrMO7
Voilà ça marche en réalité à moitié. Pour les moteurs, les élements d'éclairage, ça marche niquel. Mais quand je tape la référence des filtres: 180505, ça surligne rien du tout...
Merci de votre aide Tompols. :)
Voilà ça marche en réalité à moitié. Pour les moteurs, les élements d'éclairage, ça marche niquel. Mais quand je tape la référence des filtres: 180505, ça surligne rien du tout...
Merci de votre aide Tompols. :)
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
19 janv. 2010 à 12:09
19 janv. 2010 à 12:09
re,
cf mon post précédent, modifier derlig = Range("B65536").End(xlUp).Row par derlig = Range("C65536").End(xlUp).Row
chez moi ça fonctionne après cette modif.....
cf mon post précédent, modifier derlig = Range("B65536").End(xlUp).Row par derlig = Range("C65536").End(xlUp).Row
chez moi ça fonctionne après cette modif.....
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 à 12:21
19 janv. 2010 à 12:21
Oui c'est parfait ça marche très bien. Je n'avais pas fait attention à votre modification. Penez que je dois gérer le retour à la couleur normale ?
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
19 janv. 2010 à 12:58
19 janv. 2010 à 12:58
Re,
Pour gérer le retour à la normale, une procédure sous l'événement BeforeSave du classeur peut faire l'affaire (à placer sans ThisWorkbook) :
Pour gérer le retour à la normale, une procédure sous l'événement BeforeSave du classeur peut faire l'affaire (à placer sans ThisWorkbook) :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) derlig = Sheets(1).Range("C65536").End(xlUp).Row For i = 5 To derlig Step 1 If Sheets(1).Range("C" & i).Interior.ColorIndex = 6 Then Sheets(1).Range("C" & i & ":K" & i).Interior.ColorIndex = xlNone End If Next i End Sub
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 à 13:36
19 janv. 2010 à 13:36
Très bien merci j'ai crée une 3ème procédure, pour gérer le retour à la couleur normale. Mon programme semble très bien fonctionner. Je sais qu'un programme mieux fait aurait été plus pratique pour le technicien mais bon j'apprendrai... Merci en tout cas Tompols sans vous je n'aurai pas terminé mon projet. =)
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
19 janv. 2010 à 13:49
19 janv. 2010 à 13:49
De rien :)
"Je sais qu'un programme mieux fait aurait été plus pratique" => on peut toujours t'aider à améliorer tout ça, au vu de ta problématique et de ton fichier, on peut imaginer qqchose de tres simple mais je ne maitrise pas tout (pourquoi mettre une ligne en couleur ? on pourait tres bien afficher l'emplacement et le stock restant pour tes différents élément dans une msgbox -ceci dit l'emplacement est invariant, tout est au bat 3 sauf les éclairages qui sont au bat 1- sinon, as-t-on une base pour les CTA ou stocker les infos, ce serait bien mieux que de gérer ça ds le code -le code devrait contenir une logique mais pas de données -? etc....)
"Je sais qu'un programme mieux fait aurait été plus pratique" => on peut toujours t'aider à améliorer tout ça, au vu de ta problématique et de ton fichier, on peut imaginer qqchose de tres simple mais je ne maitrise pas tout (pourquoi mettre une ligne en couleur ? on pourait tres bien afficher l'emplacement et le stock restant pour tes différents élément dans une msgbox -ceci dit l'emplacement est invariant, tout est au bat 3 sauf les éclairages qui sont au bat 1- sinon, as-t-on une base pour les CTA ou stocker les infos, ce serait bien mieux que de gérer ça ds le code -le code devrait contenir une logique mais pas de données -? etc....)
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 à 15:54
19 janv. 2010 à 15:54
Effectivement, l'idée du msgbox ets intéressante. Mais bon, je ne pense pas que le surlignage et la msgbox soient tous les duex superflus mais le msgbox est plus intéressant car il n'y a pas le retour à la couleur normale à gérer. Est ce que la simple ligne fonctionnerait à la fin?
MsgBox ref
MsgBox ref
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
19 janv. 2010 à 16:12
19 janv. 2010 à 16:12
"Est ce que la simple ligne fonctionnerait à la fin?" MsgBox ref
euh....moi jlançais des idées comme ça, savoir si ça suffira, c'est de ton coté que ça se passe....que cherches-tu à accomplir, quelle est la finalité, le 'livrable' ? ce que j'en comprends : le gars connait uniquement le nom du CTA sur lequel intervenir....il rentre le CTA, ça c'est OK mais que doit-on lui sortir ? les références des pièces ? l'emplacement de ces pièces ? le stock restant ? uniquement pour les filtres ? uniquement pour les courroies ? pour d'autres types de pièces ? pour toutes les pièces ? etc....
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 à 21:24
19 janv. 2010 à 21:24
Alors en fait le technicien maintenance du site exécute la première procédure pour savoir quelle(s) filtre(s) et quelle(s) courroie(s) il doit utiliser en fonction de la centrale de traitement d'air sur laquelle il souhaite intervenir.
Dans la deuxième procédure, il tape les références qu'il connaît et qui sont expliqués dans la doc. Pour un filtre par exemple, il suffit de rentrer les dimensions sans le signe * . La ligne est surlignée dans la feuille excel. Ainsi pour des néons Philips 36W, il a d'un coup d'oeil les 5 - 6 néons qui sont surlignés dans la feuille.
La troisième procédure il exécute seulement pour effacer la couleur jaune fluo. Voilà, le tout expliqué dans une doc que j'ai rédigé pour lui et ses collègues.
Donc l'idéal serait que quand il rentre la référence, il obtient la désignation, le lieu, la quantité ce qui est un gain non négligeable par rapport à ce qu'il m'a raconté...
Il était obligé d'aller sur un site à côté en voiture pour voir quel filtre il faut, revenir sur le site, chercher le filtre et la courroie, retourner les mettre...c'était un peu fastidieux, j'espère que ce programme va l'aider un peu ^^ . ..
Dans la deuxième procédure, il tape les références qu'il connaît et qui sont expliqués dans la doc. Pour un filtre par exemple, il suffit de rentrer les dimensions sans le signe * . La ligne est surlignée dans la feuille excel. Ainsi pour des néons Philips 36W, il a d'un coup d'oeil les 5 - 6 néons qui sont surlignés dans la feuille.
La troisième procédure il exécute seulement pour effacer la couleur jaune fluo. Voilà, le tout expliqué dans une doc que j'ai rédigé pour lui et ses collègues.
Donc l'idéal serait que quand il rentre la référence, il obtient la désignation, le lieu, la quantité ce qui est un gain non négligeable par rapport à ce qu'il m'a raconté...
Il était obligé d'aller sur un site à côté en voiture pour voir quel filtre il faut, revenir sur le site, chercher le filtre et la courroie, retourner les mettre...c'était un peu fastidieux, j'espère que ce programme va l'aider un peu ^^ . ..
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
20 janv. 2010 à 08:20
20 janv. 2010 à 08:20
Bonjour,
Je me demandais s'il fallait un code spécial pour améliorer la présentation. Par exemple, souligner les termes filtres et courroies, mettre en italique les termes dimensions, et désignation. Je ne sais pas est ce que ces balises fonctionnent en VBA : ?
Je me demandais s'il fallait un code spécial pour améliorer la présentation. Par exemple, souligner les termes filtres et courroies, mettre en italique les termes dimensions, et désignation. Je ne sais pas est ce que ces balises fonctionnent en VBA : ?
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
20 janv. 2010 à 09:45
20 janv. 2010 à 09:45
Re,
Non il me semble pas que tu puisses faire ça pour une msgbox, il faudrait passer par un userform pour ça...
Par contre tu pourrais essayer de tout faire dans une seule procédure non ? genre le technicien de maintenance entre la CTA et ça mets automatiquement en jaune (ou autre) les pièces qu'il peut utiliser (on peut meme imaginer mettre à jour le stock pour les pièces qu'il aura choisi)....
Non il me semble pas que tu puisses faire ça pour une msgbox, il faudrait passer par un userform pour ça...
Par contre tu pourrais essayer de tout faire dans une seule procédure non ? genre le technicien de maintenance entre la CTA et ça mets automatiquement en jaune (ou autre) les pièces qu'il peut utiliser (on peut meme imaginer mettre à jour le stock pour les pièces qu'il aura choisi)....
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
20 janv. 2010 à 09:51
20 janv. 2010 à 09:51
Oui je pensais tout mettre en une seule procédure, mais je me disais qu'il est possible que le technicien maintenance ait besoin seulement d'une seule procédure, il peut avoir besoin de la fonction recherche sans aller intervenir sur une CTA. Je pense que pour le moment je vais laisser mon programme comme ça. Est t il possible de créer un exécutable sur une clé USB pour que le programme s'ouvre automatiquement avec le fichier quand on clique sur le gestion_stock.exe par exempel ?
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
20 janv. 2010 à 09:55
20 janv. 2010 à 09:55
Re,
non pas de 'compilation' en exe possible....Par contre tu peux placer ta procédure dans workbook_open pour qu'elle s'exécute à l'ouverture du classeur (comme pour le nettoyage qui s'exécute seul juste avant l'enregistrement)...
non pas de 'compilation' en exe possible....Par contre tu peux placer ta procédure dans workbook_open pour qu'elle s'exécute à l'ouverture du classeur (comme pour le nettoyage qui s'exécute seul juste avant l'enregistrement)...
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
20 janv. 2010 à 11:04
20 janv. 2010 à 11:04
Très bien je pense que je vais placer la procédure en workbook_open. Maintenant, je dois convertir mon fichier en PDF pour une meilleur impression afin que le technicien ait une trace papier de mon travail. Le problème c'est que lorsque je convertis en ligne, le résultat n'est pas vraiment ce que j'attendais... Avez vous une idée pour que l'impression se fasse correctement ?
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
20 janv. 2010 à 11:28
20 janv. 2010 à 11:28
re,
que veux-tu convertir en pdf ? ta doc ? ton fichier de stocks ? Qd tu dis que ça ne s'imprime pas correctement, quel est le probleme ?
que veux-tu convertir en pdf ? ta doc ? ton fichier de stocks ? Qd tu dis que ça ne s'imprime pas correctement, quel est le probleme ?
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
20 janv. 2010 à 12:10
20 janv. 2010 à 12:10
Je veux convertir mon fichier de stock en PDF mais le fichier Word tel qu'il est. En fait quand je le convertis en PDF mon fichier de gestion tient sur 10 pages (!) En fait, au format PDF, après l'avoir converti, il est en "morceaux". je voulais savoir s'il était possible de convertir en PDF mon fichier de gestion de stocks .xls en .pdf pour l'imprimer sur 1 ou 2 pages. =)
Prince Mehdi
Messages postés
34
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
10 mars 2011
2
20 janv. 2010 à 12:10
20 janv. 2010 à 12:10
Je veux convertir mon fichier de stock en PDF mais le fichier Word tel qu'il est. En fait quand je le convertis en PDF mon fichier de gestion tient sur 10 pages (!) En fait, au format PDF, après l'avoir converti, il est en "morceaux". je voulais savoir s'il était possible de convertir en PDF mon fichier de gestion de stocks .xls en .pdf pour l'imprimer sur 1 ou 2 pages. =)