Aide VBA pour mise en forme

Bonjour,

Sur le document en pièce jointe, je souhaiterai lorsque que je coche la case "Astreinte", que le contenu de la cellule AC5 s'insère dans la plage de cellule que je sélectionne, puis qu'une mise en forme spéciale s'active selon le texte qui est inséré. Je souhaitais à la base que les cellules se fusionnent selon la sélection, mais j'ai vu plusieurs avis négatifs sur ce point, je pense donc faire une MFC à appliquer sur l'ensemble des cellules où le texte est inséré.

Le soucis c'est que je n'arrive pas à trouve la macro qui me permet d'insérer le texte une fois la case cochée.

Pour vous faire une idée de ce que j'aimerai faire environ, c'est à peu près la même chose que la case à cocher d'à côté "Edition".

Merci d'avance pour votre aide.

13planning-test.xlsm (38.27 Ko)

Salut,

Peux-tu indiquer un exemple de sélection possible (plage contigüe, plusieurs plages non contigües simultanément, ??) et préciser si tu souhaites le texte en AC5 individuellement dans chacune des cellules sélectionnées ou une seule fois dans cette plage (non fusionnée, on s'entend bien) ?

Peux-tu également préciser la plage sur laquelle une telle sélection est possible ? J'imagine la plage B10:AF11, non ?

Bonjour,

Par exemple, je souhaiterais qu'en ayant coché la case "Astreinte", je sélectionne la plage J10:N10, le texte ne s'affiche qu'une seule fois et que la mise en forme imite si possible une fusion des cellules de la plage. La sélection de plage n'est que contiguë et remplira les lignes de B10 à AF11 en plusieurs coupures d'environ 5-6 cellules.

Je rajoute que pour la case à cocher que j'ai déjà, j'ai cette macro

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("K1") = False Then
End
Else
If Not Application.Intersect(Target, Range("A10:AF107")) Is Nothing Then
Target.Value = Range("h5")
End If
End If
 End Sub

Je ne trouve pas comment la modifier pour qu'elle prenne en compte également la seconde case à cocher.

Re-salut,

Maintenant que je l’ai étudié un peu plus à fond, je peux te dire que ton fichier est très mal foutu et que tu sembles ne pas y comprendre grand-chose. Désolé de ne pas mettre de gants, mais autant être sincère avec toi.

La macro que tu as placé en dernier sur ton fil n’est pas liée à la Case à cocher ‘’Edition’’, mais elle dépend seulement d’elle. Je m’explique : lorsque tu coches ou décoches cette case à cocher, tu actives la macro qui met en couleur la plage A4:AH9 et c’est tout.

Cependant, si cette case à cocher est activée, alors la macro ‘’Worksheet_SelectionChange’’ – activée à chaque changement de sélection sur la feuille - réagit différemment.

Je dis que ton fichier est assez mal foutu, car lorsque cette case à cocher est activée et que tu cliques plusieurs fois sur la plage A12:AF107, le texte inscrit en H5 est reproduit un peu partout de manière selon moi inopinée.

Mais encore, si tu actives la case à cocher ‘’Astreinte’’, la case à cocher ‘’Edition’’ reste activée également et tu ne peux plus agir sur la macro que tu me demandes de créer à chaque sélection sur la feuille au cas où la case à cocher ‘’Astreinte’’ est activée, puisque ça déclencherait également le code indiqué ci-dessus (le texte inscrit en H5 est reproduit un peu partout de).

Je te propose alors quelques modifications de ton code, mais sans grand enthousiasme, ayant l’impression de faire un peu un boulot de singe.

Ainsi, dans le fichier ci-joint, lorsque tu cliques sur la case à cocher ‘’Astreinte’’, la case à cocher ‘’Edition’’ est remise à zéro et vice-versa. Ainsi seule une action subsidiaire est possible.

Si la case à cocher ‘’Edition’’ est cochée, ton code inscrit la valeur en H5 à l’endroit que tu sélectionnes comme auparavant.

Si la case à cocher ‘’Astreinte’’ est cochée, j’ai fait en sorte que lorsque tu sélectionnes une plage, le texte en AC5 vient s’inscrire dans la première cellule à gauche de la sélection et qu’une mise en forme de l’alignement du texte ‘’centré sur plusieurs colonnes’’ soit activée et que la plage prenne une jolie couleur ‘’bleue-jour-de-pluie’’.

Mais comme ceci à l’inconvénient que lorsque tu changes de sélection, la même opération est répétée à l’infini – comme pour ton autre macro avec le texte en H5 – tu vas gentiment devenir fou et nous ne pourrons plus communiquer normalement.

Un autre inconvénient : si tu sélectionnes une plage de cellules sur plusieurs lignes, le texte ne vient s’inscrire que sur la première ligne de la sélection ou si tu ne sélectionnes qu’une seule cellule, le texte déborde à gauche et à droite (voir mes exemples sur le fichier joint).

Je pense que l’idéal serait de travailler autrement. Par exemple tu prépares tes textes en H5 ou AC5, puis tu sélectionnes la cellule ou la plage de cellules souhaitées puis tu cliques sur un bouton afin de confirmer ton choix.

Il y a également plein de lignes inutiles et bizarres dans tes codes. J’en ai corrigé une bonne partie, mais il en reste pas mal.

Je ne sais pas si j’aurais le courage de t’aider encore bien longtemps sur ce fichier.

Chaleureusement.

Bonjour,

Merci pour toutes ces informations, je ne pensais pas que le dossier était aussi mal fait

Ce que vous avez fait m'avance déjà bien et je vais essayer de me pencher plus sur la totalité du fichier.

Je vous remercie pour votre aide,

Bonne journée à vous

Merci à toi pour ton retour.

J'ai quand même réfléchi durant la nuit, mais si tu es seul à utiliser ce fichier - ou un nombre restreint de personnes mises au courant - tu pourrais quand même utiliser le fichier tel que je te l'ai fourni hier soir dans ce sens qu'il suffirait d'activer la case ''Astreinte'', sélectionner une, deux ou plus de plages en faisant bien attention de ne jamais cliquer ailleurs sur la feuille entre deux puis de désactiver immédiatement la case à cocher, ce qui annule la possibilité de modifier automatiquement des cellules ou plages de cellules.

Bien à toi.

Effectivement nous ne sommes que 2 à utiliser ce fichier, donc juste en expliquant comment faire à mon collègue ce devrait être bon.

Merci encore pour l'aide apportée.

Rechercher des sujets similaires à "aide vba mise forme"