Mon problème est le suivant : dans mon fichier joint, si je veux qu'un utilisateur puisse facilement ajouter une colonne, je pensai leur dire de copier/coller la dernière colonne (ici la I), cela copie-collera aussi les cases à cocher dans la colonne J. En revanche, les cases à cocher seront liées aux cellules en I et non en J. Et c'est un problème car quand on les coche cela ne déclenche plus la bonne mise en forme conditionnelle
Du coup je pensai faire un bouton "ajouter une colonne" avec une macro, mais je ne parviens pas à coder une macro qui copie une case à cocher se trouvant dans une colonne X, qui la colle dans une colonne X+1 et qui change la cellule liée pour X+1
Si vous avez d'autres solutions je suis preneur (vous allez comprendre facilement, je voudrais juste qu'on puisse cocher la case et que ça colore tout l'item)
Si vous avez d'autres solutions je suis preneur (vous allez comprendre facilement, je voudrais juste qu'on puisse cocher la case et que ça colore tout l'item)
Avec la proposition du fichier joint, tu peux copier une colonne et la coller en fin de tableau, puisque ça n'utilise que des cellules avec du texte dedans.
En revanche, chaque colonne du tableau est constituée de deux colonnes de la feuille.
J'ai supprimé toutes les MFC.
J'ai supprimé la colonne A et mis les menus dans une nouvelle feuille.
J'ai modifié les validations de données.
J'ai supprimé toutes les CheckBox.
J'ai protégé la feuille. Mais cela risque de ne pas être forcément très pratique à l'usage...
/!\ La délimitation basse de l'item se fait actuellement par le trait d'épaisseur "medium" sur le bord inférieur d'une cellule (mais on peut trouver une autre solution), donc ne pas changer la mise en forme du tableau à ce niveau.
C'est une création originale Marcel32 ! (donc ça ne vaut que ce que ça vaut...)
J'avais parfaitement compris dès le départ, ou en tout cas je comprends ici la même chose qu'au départ.
Tu disais qu'une autre possibilité était la bienvenue, alors j'ai pondu un truc sans ces cases à cocher qui me semblent lourdes à utiliser.
Et surtout, tu semblais dire que le plus important était de pouvoir ajouter une colonne au tableau par un simple copier/coller, et normalement c'est le cas avec la proposition de #2.
Ceci dit, nul doute que quelqu'un d'autre saura te fournir quelque chose qui te conviendra.
Bonne chance pour la suite.
Tschüss
J'avais commencé à faire un truc similaire à celui de @Marcel32 (que je salue ) puis j'étais passé à autre chose. La publication de @Marcel32 m'a encouragé à terminer ma version.
Une seule colonne a été insérée (colonne C). La colonne B ne contient donc plus que la "rubrique" et la colonne C contient l'indicateur "En cours" et les sous-rubriques.
Une ligne indiquant la fin du tableau été ajoutée
Ces deux points car je refuse absolument de prendre comme référence des mises en forme (couleur, bordures, etc... trop modifiables par l'utilisateur)
Un clique sur une cellule "En cours" change l'état et la couleur de la rubrique.
Pour recopier une colonne, il suffit d'en recopier une existante.
Un double-clique sur la ligne 2 d'une colonne permet :
de réinitialiser à "Pas en cours" de toute la colonne (ou non, on a le choix)
d'effacer le texte des autres lignes de la colonne (ou non, on a le choix)
Le code est dans le module de la feuille "Feuil1 (2)".
Je ne commente pas mes codes sauf si on me le demande gentiment.
C'est aussi à peu près ce que je fais généralement : en début de tableau je mets une colonne cachée contenant des informations pour gérer plus facilement ledit tableau.
C'est à cela que je pensais quand je disais qu'on pouvait faire autrement que détecter le trait inférieur médium.
Ça aussi généralement c'est ce que je fais, mais ici j'ai essayé de garder visuellement ce qui était en place, donc même si fonctionnellement la case à cocher ne sert à rien, j'ai voulu la laisser ; d'où l'ajout d'une colonne (je n'ai pas trouvé comment mettre deux fonts différentes dans une même cellule), et la fusion de cellules (ce que je n'aime pas du tout utiliser).
Je viens de télécharger ton fichier @mapomme et j'ai vu que tu avais réussi à faire ce que je voulais faire : mettre deux fonts différentes dans la même cellule.
Je ne sais pas pourquoi je voulais absolument le faire par macro, au lieu de le faire bêtement à la main...
Bon j'ai un peu honte ... mais j'avais téléchargé ton fichier @Marcel32 sur mon Mac où les macros sont désactivés... évidement ! Sur le PC du boulot ça fonctionne nickel
Bon j'ai un peu honte ... mais j'avais téléchargé ton fichier @Marcel32 sur mon Mac où les macros sont désactivés... évidement ! Sur le PC du boulot ça fonctionne nickel
Oui c'est ce que je fais habituellement aussi, une feuille à part pour tous les items d'une liste déroulante.
Cela dit, là j'ai choisi de cacher la première colonne car cette feuille n'en sera qu'une parmi d'autre d'un gros fichier d'aide à la prescription. Donc je préfère limiter le nombre de feuilles dans la mesure du possible
Il y a aussi (et surtout) l'utilisation de tableaux structurés qui fait que les listes déroulantes s'adaptent automatiquement, sans changer quoi que ce soit, quand tu ajoutes ou supprimes des lignes dans ces tableaux structurés.
Cela dit, là j'ai choisi de cacher la première colonne car cette feuille n'en sera qu'une parmi d'autre d'un gros fichier d'aide à la prescription. Donc je préfère limiter le nombre de feuilles dans la mesure du possible
Les 2 solutions sont dans la manière d'appliquer la macro soit les mots sont inscrits en dur dans le code soit les mots sont inscrits dans la feuille dédies à cet effet (la feuille 3).
Pour la fonte il suffit de rajouter
VB:
With Cel.Characters(Start:=Pos, Length:=Len(LeMot)).Font
.FontStyle = "Gras"
.ColorIndex = 5 '3 = rouge, 4 = vert , 5 = bleu
.Name = "Algerian" ' ou "Courier" ou n'importe quelle autre police
End With
Tu auras bien 2 fontes dans la même cellule la fonte d'origine de la cellule et la fonte et/ou couleur déclarée dans la macro
Et on pourrait même faire une autre macro ==> Sub MotEnGras_V2(LeMot As String, Plage As Range) avec une autre fonte et/ou couleur et une autre série de mot dans la même cellule mais ça fera un peu sapin de noël
*J'ai changé la couleur pour que cela soit plus visible