Hey tout le monde !
J'ai un petit souci avec un script VBA que je suis en train de bricoler, et je me demandais si quelqu'un pourrait m'aider à le corriger. Je ne suis pas un pro du VBA, donc désolé si mon code est un peu bancal !
Alors voilà, j'ai deux fichiers Excel, "Mesures.xlsm" et "Normes.xlsm". Dans "Mesures.xlsm", j'ai une feuille "Mesure" avec des mesures qui sont classées par processus. Chaque mesure a un ID dans la colonne A et une description dans la colonne C.
Mon objectif est de copier ces mesures dans la feuille "Exigences ISO 27001" du fichier "Normes.xlsm". La copie doit se faire dans la colonne U pour l'ID et la colonne F pour la description. Mais attention, il y a une petite complication : dans la colonne G de "Mesure", il y a des critères qui peuvent être séparés par des points-virgules (genre "cr1; cr2; cr3"). Donc certaines mesures peuvent correspondre à plusieurs critères et un critère peut avoir plusieurs mesures. Vous l'avez compris, il s'agit de mettre les mesures en face du critère à laquelle elle correspond.
L'autre truc, c'est que dans "Mesure", il y a des lignes de transition entre les catégories de critères, et je veux les éviter. Donc si la colonne G est vide ou ne contient pas "cr", alors c'est une ligne de transition qu'il faut sauter.
En plus, dans le fichier de destination "Normes.xlsm", il y a une colonne H où je peux saisir le nom d'un processus. Et c'est là que ça devient compliqué ! Je veux que le script copie les mesures qui correspondent à ce processus spécifique dans la feuille "Exigences ISO 27001". Donc en gros, si je tape "Conception" dans la cellule U9, le script doit copier les mesures liées à "Conception" dans le tableau des exigences ISO. Si je change le processus en tapant "IT", alors le script doit copier les mesures liées à "IT". Et ainsi de suite !
Est-ce que quelqu'un pourrait m'aider à coder ça proprement en VBA, j'ai déjà écrit une partie d'un script mais je bloque un peu ? J'apprécierais vraiment toute l'aide que vous pourriez me donner !
Merci d'avance les gars, vous êtes au top !
J'ai un petit souci avec un script VBA que je suis en train de bricoler, et je me demandais si quelqu'un pourrait m'aider à le corriger. Je ne suis pas un pro du VBA, donc désolé si mon code est un peu bancal !
Alors voilà, j'ai deux fichiers Excel, "Mesures.xlsm" et "Normes.xlsm". Dans "Mesures.xlsm", j'ai une feuille "Mesure" avec des mesures qui sont classées par processus. Chaque mesure a un ID dans la colonne A et une description dans la colonne C.
Mon objectif est de copier ces mesures dans la feuille "Exigences ISO 27001" du fichier "Normes.xlsm". La copie doit se faire dans la colonne U pour l'ID et la colonne F pour la description. Mais attention, il y a une petite complication : dans la colonne G de "Mesure", il y a des critères qui peuvent être séparés par des points-virgules (genre "cr1; cr2; cr3"). Donc certaines mesures peuvent correspondre à plusieurs critères et un critère peut avoir plusieurs mesures. Vous l'avez compris, il s'agit de mettre les mesures en face du critère à laquelle elle correspond.
L'autre truc, c'est que dans "Mesure", il y a des lignes de transition entre les catégories de critères, et je veux les éviter. Donc si la colonne G est vide ou ne contient pas "cr", alors c'est une ligne de transition qu'il faut sauter.
En plus, dans le fichier de destination "Normes.xlsm", il y a une colonne H où je peux saisir le nom d'un processus. Et c'est là que ça devient compliqué ! Je veux que le script copie les mesures qui correspondent à ce processus spécifique dans la feuille "Exigences ISO 27001". Donc en gros, si je tape "Conception" dans la cellule U9, le script doit copier les mesures liées à "Conception" dans le tableau des exigences ISO. Si je change le processus en tapant "IT", alors le script doit copier les mesures liées à "IT". Et ainsi de suite !
Est-ce que quelqu'un pourrait m'aider à coder ça proprement en VBA, j'ai déjà écrit une partie d'un script mais je bloque un peu ? J'apprécierais vraiment toute l'aide que vous pourriez me donner !
Merci d'avance les gars, vous êtes au top !