XL 2013 Procédure Macro dans This Workbook

JPrev

XLDnaute Junior
Bonjour à tous,

Souhaitant encore m'améliorer sur Excel, je cherche à créer des outils pour mon boulot et en l'occurrence, je cherche une fonctionnalité qui me serait super utile.

--> Voir fichier joint

Explication : Je suis amené à avoir tout plein d'onglets différents avec en commun la même colonne dans laquelle j'insère des actions à effectuer.

1 - J'aimerais qu'à chaque fois que j'entre une action dans une cellule de cette colonne (Chaîne de texte), PEU IMPORTE L'ONGLET, une msgbox me demande si je souhaite exporter l'action vers le plan d'action (qui compilera donc les actions de tous onglets) avec un OUI/NON.

Si OUI, alors copier/coller vers le plan d'action
Si NON, alors j'efface le contenu de la cellule et je recommence

2 - Si possible, dans cette même procédure (ou une autre), dans l'onglet Plan d'actions, si je supprime une action, j'aimerais que la procédure retrouve la source d'origine de l'action (l'onglet depuis lequel elle a été copiée) et supprime également l'action (facultatif plus pour le confort)

Quelqu'un de sympa pour m'aider? J'essaye également de mon côté mais je pense que je vais trouver bien plus balèze que moi!

Merci d'avance.

JPrev
 

Pièces jointes

  • Test_PlanAction.xlsx
    10.1 KB · Affichages: 44

Dranreb

XLDnaute Barbatruc
Re : Procédure Macro dans This Workbook

Bonjour.

Peut être devriez vous mettre quelques dizaines d'exemples de données, qu'on puisse constater plein de choses que vous ne dites pas.
Qu'un même plan d'action puisse être dans plusieurs onglet et dans chacun d'eux y apparaître plusieurs fois, ou non, entre autre…
Voir aussi s'il ne vaudrait pas mieux tout saisir dans un seul onglet mais avec une colonne 'catégorie' qui donnerait en quelque sorte l'onglet logique d'appartenance. Ce serait plus facile d'en tirer, dans une autre feuille, un récapitulatif classé sur ce critère, voire de l'éclater en plusieurs onglet si vous y tenez.
 

JPrev

XLDnaute Junior
Re : Procédure Macro dans This Workbook

Bonjour,

Merci pour votre réponse.

Je vais apporter le complément d'informations demandé alors, désolé de ne pas l'avoir fait dans mon énoncé :/...

Alors, techniquement une même action ne pourra pas se retrouver dans différents onglets car elles concerneront des thématiques différentes. Par contre au sein d'un même onglet, en effet il est possible qu'une même action apparaisse plusieurs fois...dans mon plan d'action elle doit donc n'apparaître qu'une fois.

Pour la catégorie je suis d'accord avec votre raisonnement.

Lorsque la macro fait le copier/coller, peut-on inscrire dans le code que dans la colonne juste à droite de l'action (dans l'onglet plan d'action), il doit y avoir le nom de l'onglet dans lequel a été extraite l'action inscrite?

Merci encore pour votre message.

Cordialement,

JPrev
 

Dranreb

XLDnaute Barbatruc
Re : Procédure Macro dans This Workbook

Plutôt que d'être obligé de répondre à un MsgBox fatigant à chaque saisie, ne pourriez vous prévoir une colonne à coté en police wingdings apparaissant cochée pour un plans d'action répertorié, voire un préfixe spécial pour des plans temporaires non répertoriés ?
 

JPrev

XLDnaute Junior
Re : Procédure Macro dans This Workbook

Merci pour votre réponse.

Alors je ne sais pas ce qu'est "police wingdings" ni le préfixe spécial pour des plans temporaires non répertoriés.

En gros tous les onglets sont susceptibles d'avoir des actions alimentant un plan d'actions global
 

Dranreb

XLDnaute Barbatruc
Re : Procédure Macro dans This Workbook

Ben c'est une police de caractères pleine de petits dessins au lieu de chiffres, lettres et signes de ponctuation. On se sert souvent du "ü" qui y figure comme une coche, du "û" une croix, et aussi "o", "ý" et "þ" pour figurer des cases à cocher sans avoir de tels contrôles à gérer dans la feuille.
Bon alors s'il n'y a pas de particularité spéciale de certains plans d'action, y a qu'à les répertorier tous systématiquement sans MsgBox de confirmation, ce serait plus simple, non ?
De toute façon je ne vois pas l'utilité d'envoyer une info d'une cellule de la colonne F d'une feuille vers une feuille qu'on ne voit pas ! J'envisage plutôt pour le moment de les inventorier dans toutes les autres feuilles quand on active la feuille "Plan d'action". Alors si je n'ai pas de critères pour savoir lesquels prendre je les prends tous et puis voilà !
 
Dernière édition:

JPrev

XLDnaute Junior
Re : Procédure Macro dans This Workbook

Bonjour Dranreb,

Je ne comprends pas bien l'intérêt du wingdings, c'est d'alléger les feuilles de calcul?

Tu me conseilles donc de ne pas passer par des msgbbox lorsque j'entre une action dans la colonne d'un onglet donné et de la copier/coller directement dans l'onglet plan d'action? (Cet onglet doit reprendre TOUTES les actions entrées dans les différentes colonnes "Actions" de mes onglets).

"J'envisage plutôt pour le moment de les inventorier dans toutes les autres feuilles quand on active la feuille "Plan d'action"."

Donc si j'ouvre mon onglet plan d'action, il va me faire un inventaire de tout ce que j'ai entré dans les colonnes "actions" dans mes onglets? Ca me plaît bien ça :)
 

JPrev

XLDnaute Junior
Re : Procédure Macro dans This Workbook

Bonjour Dranreb,

Pour le moment ça correspond parfaitement à mes besoins. Juste à voir si je peux adapter ça à mon fichier réel.

Tu penses que pour une vingtaine d'onglets ça passe bien?

Et, juste pour ma culture, si tu pouvais m'expliquer le code (les étapes, ce que ça fait en pratique etc.).

Je ne sais pas comment te remercier pour ton boulot, donc si je peux juste comprendre et reproduire ça à l'avenir :).

JPrev
 

Dranreb

XLDnaute Barbatruc
Re : Procédure Macro dans This Workbook

Bonjour.

Je m'aperçois que la Property Let ValPlgAju du module Utilit n'est pas documentée. Je vais ajouter ça derrière l'instruction :
VB:
Rem. Rectifie les dimensions en lignes et colonnes d'une plage et y affecte les valeurs d'un tableau.
'    Plg :   La plage à redimensionner et garnir.
'    LMax :  Le nouveau nombre de lignes souhaité. Facultatif. Assumé: le nombre de lignes de TV.
'    TV :    Le tableau de Variant à affecter. Contrairement aux autres paramètres, qui doivent être
'            spécifiés entre parenthèses séparés par des virgules, celui ci doit l'être après la
'            parenthèse fermante, précédé du signe égal.
'    Particularité: Les nouvelles tailles minimales en lignes et colonnes de la plage cible ne
'       pourront être < 2 que si celle ci porte un nom dans le classeur ou la feuille.
Tous les autre pièces des modules de service le sont. Y-a-t-il néanmoins quelque chose que vous ne comprenez pas dans la partie 'applicative' de la programmation ? Il vaudrait peut être mieux que ce soit vous qui mettiez des commentaires d'après ce que vous aurez compris. Ça vous imprégnerait davantage que si je mettais moi des commentaires à comprendre en plus du code. Je vous corrigerai s'il y a lieu.
 

JPrev

XLDnaute Junior
Re : Procédure Macro dans This Workbook

Disons que devant mon niveau actuel, ce que tu as fait est à des années-lumière devant mes compétences. Je n'ai commencé à coder que très récemment ^^.

Alors le code est divisé en 3 modules : 1 module "Activate" qui se déclenche lorsque j'active mon onglet "Plan d'action" et 2 autres modules GroupOrg et ValPlgAju dont je ne connais pas la fonctionnalité (et il y a tellement de choses...).

2 questions donc :

- A quoi correspondent ces 2 modules?
- As-tu des documents qui me permettent d'avoir des bases plus solides en programmation Excel? xD

Je peux te donner mon mail privé si tu veux :).
 

Dranreb

XLDnaute Barbatruc
Re : Procédure Macro dans This Workbook

Vous citez des procédures, non des modules. Un module est un ensemble de déclarations globales et de procédures.
Personnellement j'y distingue en plus les modules applicatifs (les seuls que vous êtes habilité à adapter), et les modules de service.
Vous avez :
— Un peu de programmation applicative dans le module de feuille FPlan,
— Un module standard de service MClassement dédié à toutes applications de TableIndex pour un tableau de variant avec classement en ordre croissant ou décroissant sur certaines colonnes précisées,
— Un module standard de service Utilit réservé à diverses procédures utilitaires non dédiées à un thème précis,
— Un module de classe SsGroup qui définit le type des objets composant une collection rendue par la fonction GroupOrg du module MClassement,
— Un module de classe TableIndex qui définit ce type d'objet servant à effectuer des classements.

Je n'ai pas de doc autre que celle qu'on peut trouver sur internet.
Il y a assez peu de choses à savoir, je trouve, comme connaissances fondamentales, mais il faut les savoir et non les ignorer sous prétexte qu'elle planent trop haut, sinon on reste condamné à ne jamais rien comprendre à rien. C'est le cas de beaucoup, qui s'obstinent ainsi à ne pas vouloir comprendre, et s'étonnent quand même toujours de ne rien comprendre. Comme si vous alliez par exemple ignorer la dernière phrase de ce poste, parce qu'elle n'aurait aucun sens pour vous, au lieu d'approfondir les deux notions de base qu'elle évoque. Après, bon, ben il existe plein de dispositifs d'espèce, portant certains noms, et qui obéissent, forcément, aux quelques règles de fond. Je m'efforce de documenter ceux issus de moi du mieux que je peux.
N'hésitez pas à me poser des questions pour tenter d'en savoir plus en terme de connaissances de base.
Activate est un évènement Excel particulier de l'objet Worksheet qui se produit quand on active une feuille.
 
Dernière édition:

JPrev

XLDnaute Junior
Re : Procédure Macro dans This Workbook

Bonjour Dranreb,

Merci pour le temps alloué aux différentes réponses.

La dernière phrase n'a pas été ignorée et est plutôt claire je trouve ;).

Me concernant, je n'avais vraiment aucune base jusqu'à l'année dernière. J'ai commencé la programmation assez simplement je cherche à développer mais comme ce n'est pas mon boulot à la base et que je m'en sers pour faire du développement d'outils pour le boulot justement, donc je progresse mais tout tout doucement.

J'ai attrapé quelques documents sur les connaissances de base...je vais me prendre un après-midi pour voir ça...
 

Discussions similaires

Réponses
26
Affichages
410

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal