Voir si c'est possible de modifier un bout de code VBA

0

Bonjour,

Suite à une accumulation de MFC lors de collage sélection.... voir pour modifier si possible le code VBA pièce jointe plus facile à comprendre.

Merci pour ceux qui prendraient le temps de voir ma problèmatique

Voir PJ

Cordialement


    tontonbox Posté le 13 décembre 2022, 11:08
    par tontonbox
    Répondre
    0

    Bonjour tontonbox,

    pour ce que tu veux faire : les MFC suffisent, c'est inutile d'utiliser VBA ;
    voici donc un fichier .xlsx sans aucun code VBA ; il y a 16 MFC en tout,
    et il n'y en n'aura pas plus.  :)

    https://www.cjoint.com/c/LLocvmzmwN0

    UTILISATION

    ci-dessous, il y aura des exemples qui se suivent ; quand tu feras un exemple,
    ne change pas ce que tu auras déjà fait pour les exemples précédents.

    1) pour une des cellules de la plage B8:B38, saisis simplement le texte désiré
    et valide ; les MFC mettent la mise en forme adéquate ; exemple :

    * en B8, saisis M ; Entrée ➯ M sur fond rose foncé
    * en B9, saisis S ; Entrée ➯ S sur fond bleu clair
    * en B10, saisis N ; Entrée ➯ N sur fond vert foncé
    * en B11, saisis J ; Entrée ➯ J sur fond orange
    * en B12, saisis EF ; Entrée ➯ EF sur fond rose clair
    * en B13, saisis AM ; Entrée ➯ AM gras blanc sur fond rouge
    * en B14, saisis JCN ; Entrée ➯ JCN sur fond vert clair

    2) pour plusieurs cellules contigües : sélectionne-les ; saisis le texte voulu et
    appuie sur les touches Ctrl Entrée ➯ le texte se met dans toute les cellules
    de la plage sélectionnée ; exemple :

    sélectionne B21:B25 ; tape le texte HAR et appuie aussitôt sur Ctrl Entrée
    ➯ il y a HAR en B21:B25, sur fond violet clair.

    3) pour une plage de cellules discontinue, utilise la touche Ctrl à partir de
    la 2ème sélection ; exemple :

    sélectionne B28:B30 ; appuie sur la touche Ctrl et maintiens-la enfoncée ;
    sélectionne B16:B18 ; sans relâcher la touche Ctrl, sélectionne aussi
    B34:B37 ; relâche Ctrl ; tape le texte CP et appuie sur Ctrl Entrée ➯
    il y a CP en B16:B18, B28:B30, B34:B37 (avec motif bicolore dégradé).

    4) si tu supprimes un texte avec la touche Suppression (pour une seule
    cellule ou plusieurs)
    , les MFC correspondantes ne sont plus appliquées
    et la mise en forme disparaît ; exemple :

    sélectionne B8:B37 ; appuie sur la touche Suppression ; c'est revenu
    comme c'était au départ, à l'ouverture du fichier.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    remarque : il n'y a pas besoin de MFC pour le texte REC, car c'est
    la mise en forme par défaut : texte noir non gras sur fond blanc.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    pour les 16 MFC, regarde attentivement le champ "S'applique à" ;
    voici 3 exemples, selon les 3 premières MFC :

    * pour le M sur fond rose foncé : =$B$2;$B$8:$B$38;$X$3

    * pour le S sur fond bleu clair : =$D$2;$B$8:$B$38;$X$4

    * pour le N sur fond vert foncé : =$F$2;$B$8:$B$38;$X$5

    pour une MFC donnée : le 2ème élément du champ "S'applique à"
    est toujours : $B$8:$B$38 ; seuls changent le 1er élément et le
    3ème élément (indiqués en gras ci-dessus).

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    note aussi que pour toutes les MFC sauf la dernière, j'ai coché la case
    "Interrompre si Vrai" ; ça fait que c'est plus rapide, car dès qu'une des
    MFC est appliquée, ça s'arrête aussitôt, sans regarder les MFC qui
    suivent en dessous ; en effet, comme le texte des MFC qui suivent est
    forcément différent du texte de la MFC appliquée, c'est tout à fait
    inutile de tester le texte des MFC qui suivent : le résultat du test sera
    toujours forcément faux.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    si besoin, tu peux demander une adaptation.
    à te lire pour avoir ton avis.  :)

    rhodo

    rhodo Posté le 14 décembre 2022, 04:47
    par rhodo
    0

    Bonjour Rhodo,

    Merci pour cette nouvelle moulure 

    C'est bien plus simple de ta façon, bravo! parfois je cherche compliqué alors qu'il y à des solutions beaucoup moins compliquées, en tout les cas c'est adopté, encore un grand merci pour cette solution et le temps passés pour ton intervention 

    Bonne journée 

    Cordialement


    tontonbox Posté le 14 décembre 2022, 11:38
    par tontonbox
    0

    Bonsoir tontonbox,

    merci pour ton retour !  :)  même si ça t'a plu, je vais quand même te proposer
    5 autres versions ; voici déjà la v1https://www.cjoint.com/c/LLovsqbxGI0

    j'ai supprimé tout ce qui était à droite de la colonne J ; le champ "S'applique à"
    de chacune des 16 MFC contient 2 éléments au lieu de 3 car j'ai supprimé le
    3ème élément ; exemples selon les 3 premières MFC :

    * pour le M sur fond rose foncé : =$B$2;$B$8:$B$38

    * pour le S sur fond bleu clair : =$D$2;$B$8:$B$38

    * pour le N sur fond vert foncé : =$F$2;$B$8:$B$38

    rhodo

    rhodo Posté le 14 décembre 2022, 22:37
    par rhodo
    0

    @tontonbox

    voici la v2https://www.cjoint.com/c/LLovMI11oX0

    j'ai supprimé tout ce qui était dans la plage A1:J5 ; j'ai remonté le tableau des
    colonnes A et B de façon que le texte "Janvier" soit en ligne 1 ; j'ai supprimé
    toutes les colonnes C:U ➯ ce qui était en W:X est passé en D:E ; enfin, j'ai
    supprimé le texte "Menu liste déroulante" et remonté d'une ligne ➯ "Intitulé"
    est en D1 et "Poste" est en E1.

    le champ "S'applique à" de chacune des 16 MFC contient 2 éléments au lieu
    de 3 car j'ai supprimé le 1er élément ; exemples selon les 3 premières MFC :

    * pour le M sur fond rose foncé : =$B$2:$B$32;$E$2

    * pour le S sur fond bleu clair : =$B$2:$B$32;$E$3

    * pour le N sur fond vert foncé : =$B$2:$B$32;$E$4

    note bien que la partie qui ne change pas est maintenant le 1er élément ;
    et c'est $B$2:$B$32 au lieu de $B$8:$B$38.

    perso, je préfère quand les indications d'intitulé & poste sont à droite
    verticalement plutôt qu'au-dessus horizontalement.

    les 2 premières versions v1 & v2 te montrent aussi qu'on n'est pas
    obligé de mettre à la fois ce qui était en A1:J5 et en W1:X19.

    rhodo

    rhodo Posté le 14 décembre 2022, 23:02
    par rhodo
    0

    @tontonbox

    voici la v3https://www.cjoint.com/c/LLowgbg7gy0

    je suis parti de la v2, et j'ai supprimé les 3 colonnes C:E ; il n'y a donc plus
    du tout les indications d'intitulé & poste (ni au-dessus, ni à droite).

    bien sûr, cela suppose que l'utilisateur connaît par cœur tous les sigles
    utilisés ; exemple : il suffit qu'il pense à "Congé Payé" pour qu'il saisisse
    "CP" dans une des cellules de la plage B2:B32.

    en principe, plus l'utilisateur utilisera le fichier, plus « ça finira par rentrer »
    et il finira bien, à la longue, par connaître tous les sigles par cœur.  ;)

    pour chacune des 16 MFC, le champ "S'applique à" est ce seul élément :

    =$B$2:$B$32

    rhodo

    rhodo Posté le 14 décembre 2022, 23:18
    par rhodo
    0

    @tontonbox

    question : que faire si l'utilisateur n'arrive pas à mémoriser
    tous les sigles ? les 2 versions v4 et v5 vont y répondre.

    voici déjà la v4https://www.cjoint.com/c/LLowtSvykE0

    je suis parti de la v3 ; la 1ère feuille "Feuil1" est inchangée,
    et les MFC sont les mêmes ; j'ai ajouté "Feuil2", dont voici
    en exemple les 3 premières MFC :

    * pour le M sur fond rose foncé : =$B$2

    * pour le S sur fond bleu clair : =$B$3

    * pour le N sur fond vert foncé : =$B$4

    UTILISATION

    tu es sur "Feuil1" car c'est sur la 1ère feuille qu'il faut faire la saisie (en plage B2:B32) ;
    manque de pot, tu ne te rappelles plus du sigle qu'il faut mettre ; pas de panique !  ;)

    fais Ctrl Page Suivante ➯ ça va sur "Feuil2", et tu peux lire les infos pour rechercher
    ce dont tu as besoin ; dès que tu as vu quel est le sigle qu'il te faut, retourne sur la
    1ère feuille en faisant Ctrl Page Précédente et fais la saisie qu'il fallait faire.  :)

    tu vas me dire : « oui, mais je préférais la v2 quand tout était sur la même feuille ;
    ainsi, plus besoin de passer d'une feuille à une autre chaque fois que je dois me
    rappeler un des sigles. »
    .

    oui, effectivement, c'est un point de vue qui est valable ; cependant, l'avantage de
    la v4 par rapport à la v2, c'est que la 1ère feuille où se fait la saisie est allégée :
    la présentation est plus simple ; après, c'est à choisir selon ses goûts.  ;)

    rhodo

    rhodo Posté le 14 décembre 2022, 23:43
    par rhodo
    0

    @tontonbox

    voici la dernière version v5https://www.cjoint.com/c/LLowSF24uq0

    tu vas me dire : « oh ! mais c'est comme la v3 ! y'a rien de changé ! »

    fais Ctrl a  ;)  bien sûr, c'est un fichier .xlsm, avec code VBA.  ;)

    entre toutes les versions, tu as l'embarras du choix, pas vrai ?  ^^
    tu me diras laquelle tu as choisie ?  ;)

    rhodo

    rhodo Posté le 14 décembre 2022, 23:51
    par rhodo
    0

    Bonsoir Rhodo,

    Déjà un grand merci pour ton implication et surtout pour toutes ces versions proposées qui sont toutes différentes avec chacun leur charme.... d'ailleurs, je les garderais toutes bien au chaud pour d'éventuel autres utilisations. Après moult essais de ces différentes moulures, mon choix s'est plutôt dirigé vers la V4 et la V5 mais finalement, j'ai opté pour la V4, je pense que c'est celle qui me convient le mieux aujourd'hui, quoique la V5 avec l'apparition de la Mg Box par le biais de Ctrl a est aussi le top, mais ce qui implique un code VBA. Donc du coup mon choix aujourd'hui est V4 en te remerciant encore et encore pour ton implication actuelle et peut-être dans le futur pour d'autres demandes, je te souhaite de belles fêtes de fin d'année. 

    Cordialement

    tontonbox

    tontonbox Posté le 15 décembre 2022, 19:09
    par tontonbox
    0

    Bonsoir tontonbox,

    merci pour ton retour, et pour m'avoir indiqué quelle version tu as choisie.

    bonnes fêtes de fin d'année à toi aussi.  :)

    rhodo

    rhodo Posté le 15 décembre 2022, 19:18
    par rhodo

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :