réutilisation de variable + comparaisons auto [VBA Excel macro] - VB/VBA/VBS - Programmation
Marsh Posté le 25-05-2005 à 11:11:36
pour la premiere question je peux te passer un bout de code qui permet de sauvegarder des onglet dans un nouveau fichier excel :
Code :
|
tu peux en faire une procedure avec le nom de ton fichier en parametre
dim Fname as string
Fname=Inputbox("Nom du fichier" ) & ".xls"
call CopierOnglet(Fname)
Marsh Posté le 26-05-2005 à 15:24:46
ben c'est un peu vague ce que tu demande, sur quoi tu bloque exactement ?
si tu veux rechercher une cellule dans une colonne je crois qu'il ya une fonction pour ca
sinon tu peux la programmer toi meme, voici la fonction Place que j'utilise pour trouver la éniéme place d'un élément dans un vecteur
je l'ai un peu modifié pour que ca marche sur des colonnes
à placer dans un Module
Code :
|
Exemple pour y faire appel
'Recherche la valeur 3 dans la premiére colonne
'à partir de la premiere cellule
MsgBox (PLACE(3, 1, 1))
Marsh Posté le 28-05-2005 à 02:08:22
je ne bloque sur rien, je ne sais même pas par quoi commencer.
je ne veux pas rechercher une cellule dans une colonne, je veux :
- trouver toutes les cellules d'une colonne inférieures à une valeur définie, et si possible que cette valeur puisse varier en fonction d'un critère présent sur les lignes (ie une sous famille)
- avoir une comparaison systématique par ligne des valeurs de deux colonnes, sachant que si sur la ligne x la colonne B est inférieure à la colonne A, ce n'est pas normal, et je dois donc le savoir.
je ne sais pas si excel est capable de faire ça, c'est pour ça que je demande.
si ce n'est pas possible, je m'en remettrai ; si c'est possible et que quelqu'un sait à peu près comment faire, eh bien je veux bien qu'il me dise.
Marsh Posté le 28-05-2005 à 06:17:52
bonjour,
A vue de nez, parce que la présentation est quand même assez vague...
Le format conditionnel pourrait sans doute répondre au moins partiellement (pour le point 2) à ta préoccupation.
Format / Mise en Forme Conditionnelle...
La Valeur de la cellule est ....supérieure à ...la cellule d'à coté
Alors -> Mise en forme Format Rouge (par exemple)
Pour le point 1 c'est trop vague pour répondre.
Tu pourrais mettre un petit fichier joint explicatif sur
http://cjoint.com/index.php
A+
Marsh Posté le 30-05-2005 à 11:45:57
corran a écrit : je ne veux pas rechercher une cellule dans une colonne, je veux : |
Pour trouver toute les cellules faut deja savoir en trouver une, et les criteres sont a mettre dans la fonction de je t'ai donnée
Mais comme galopin je pense que le format confitionnel pourrais deja beaucoup t'avancer.
Marsh Posté le 25-05-2005 à 10:41:16
Je poste ici car je pense que ce que je cherche est un peu compliqué pour WS&R
Dans le cadre de l'automatisation de traitements de fichiers Excel (exportés par une appli en VB à partir d'une base access, pour poser le contexte ; je n'ai accès ni à la base ni à l'appli), je cherche en fait à faire deux choses différentes.
La première, c'est la réutilisation d'une variable.
A l'ouverture d'un fichier qu'on va appeler fichier.xls, je lance une macro (que j'ai déjà faite) pour rendre les données exploitables. Ce que je voudrais, c'est qu'au lancement de la macro s'ouvre une inputbox, qui me permette de rentrer une variable, qu'on va appeler mois. Ensuite, une fois le traitement terminé, je voudrais que la macro enregistre fichier.xls sous mois.xls (donc réutiliser la variable comme nom de fichier). Une fois le fichier enregistré sous mois.xls, la macro ouvre un autre fichier excel, fichier2.xls. Dans ce fichier, la macro doit créer un nouvel onglet intitulé mois (du nom de la variable, donc), et doit une nouvelle fois réutiliser la variable pour faire un rechercher/remplacer, après un copier coller d'un onglet précédent vers l'onglet mois : cet onglet vient chercher ses données dans mois.xls.
Je ne pense pas que ce soit sorcier, mais faire ce genre de choses n'est pas spécifiquement dans mes compétences, et je n'ai pas de bouquins à disposition ni de connexion internet qui me permet de rechercher efficacement (i.e. ne pas mettre 3 h à afficher une page).
La deuxième est plus compliquée (enfin je pense), je ne sais meme pas si c'est faisable.
On parle d'un autre fichier, toujours extrait de la meme base.
Ce fichier reprend des produits, classés par marque, famille, sous-famille... Il comprend entre autres deux colonnes sur lesquelles je voudrais travailler : marge locale & marge consolidée.
Dans le cadre du traitement du fichier brut en quelque chose d'utilisable, je voudrais deux choses :
[-] en fonction de la sous famille, je voudrais que la macro identifie un taux de marge inférieur à la normale. Par exemple, si le taux de marge attendu pour la sous-famille 1 est d'au moins 20%, je voudrais que la macro détecte les produits de cette sous famille ayant une marge inférieure.
[-] je souhaiterais aussi que la macro identifie les produits dont la marge consolidée est inférieure à la marge locale, car c'est une anomalie.
Les lignes concernant ces produits seraient alors copiées dans un onglet "anomalies".
Merci pour toute aide.