Création de cases à cocher

Salut,

Je dois créer des cases à cocher pour un formulaire de suivi d'activité dans les cellules H4 à H353 et I4 à I353, avec pour chacune liée à la cellule dans laquelle elle est placée. Il y aura ensuite une mise en forme conditionnelle pour alerter en cas de différence entre les cellules de chaque ligne (les 2 cases doivent être cochées ou décochées, mais pas être panachées)

Pour éviter de les créer une par une à la main j'ai trouvé ce code que j'ai un peu adapté pour qu'il colle avec mes besoins

Sub InsertCheckBoxes()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Ws As Worksheet
On Error Resume Next
Set WorkRng = Application.Selection
Set Ws = Application.ActiveSheet
Ligne = 4
For Each Rng In WorkRng
    With Ws.CheckBoxes.Add(Rng.Left, Rng.Top, 0.4, 0.4)
        .Characters.Text = Rng.Value
        .LinkedCell = "H" & Ligne
        .IncrementLeft 4.2
        .IncrementTop -1.2
    End With

    Ligne = Ligne + 1
Next
WorkRng.ClearContents
WorkRng.Select
End Sub

Mon problème est que les cases à cocher semblent plus hautes que la cellule (elles mesurent 0.6 x 0.65 d'après les propriétés, contre 0.4 demandé dans le code, les lignes font 29 pixels de haut), donc elles se décalent vers le bas au fur et à mesure ce qui fait qu'à partir de la 15ème elles commencent à mordre sur la cellule du dessous et à la fin des 350 lignes elles ont 2 lignes de décalage.

D'autre part elles apparaissent en bas à gauche de la cellule et je voudrais les recentrer, mais la commande IncrementTop ne fonctionne pas alors que la commande IncrementLeft oui.

Est ce que vous avez la solution pour créer des cases à cocher à la bonne taille centrées dans chaque cellule ?

Ou si je fais fausse route un autre moyen pour que l'opérateur ait juste à cliquer sur la cellule pour la cocher ? Avec 2 contraintes :

- Je voudrais éviter la liste de la validation des données qui demande 2 actions (cliquer sur la cellule pour faire apparaitre la liste déroulante et sélectionner la valeur).

- Le fichier est hébergé sur un Sharepoint et ouvert dans un navigateur Web, les macros ne fonctionnent pas. Donc l'option de la macro qui coche la cellule sur un double clic n'est pas utilisable.

Merci d'avance.

Bonjour,

Comme il a été dis souvent sur ce forum et ailleurs,
mieux vaut passer par des cellules dans lesquelles on met un X, vous aurez moins de soucis

Maintenant ce n'était qu'un avis

A+

Bonjour,

Cependant votre macro ne ferait pas ce que vous exposez : Elle lierait le deuxième checkbox à la ligne suivante !

De toute façon si la cellule liée est la cellule du CheckBox vous allez avoir en surimpression le mot vrai ou faux pour chque cellule cochée ou décochée. Ce qui sera du plus mauvais effet.

La macro que je vous propose envoie les cellules liées en colonne M et N libre à vous de les masquer et/ou de faire une mise en forme conditionnelle à partir de ces colonnes...

Vous pouvez tester sur le classeur joint.

12cbmanu31.xlsm (23.23 Ko)

Nota : chez moi Excel 2016) les paramètres 0.4 sont inopérants(quelle que soit la valeur) de même que incrément. De toute façon il est plus efficace de s'ajuster par rapport à Top et Left...

A+

Salut

Désolé pour la réponse tardive, je me suis finalement rabattu sur la solution qui coche la cellule sur un double clic, il suffit juste d'ouvrir le fichier dans l'application au lieu du navigateur Internet pour que les macros soient activées.

Manu

Rechercher des sujets similaires à "creation cases cocher"