Bonjour à tous, voici mon problème :

J'ai une procédure qui me permet de créer des boutons dans une cellule (3 boutons par cellule), ici tout se passe bien mais lorsque ceux-ci doivent être mis à la ligne suivante un décalage se fait et grandit pour chaque ligne ajoutée. Le mieux est de voir le résultat et le code ci-joint.

Pour info, je réalise le code sous office 2007 puis je l'adapte pour qu'il passe correctement sous office 2003.



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub Ajoute_boutons()
 
'Ajoute trois boutons dans la même cellule (celle qui est sélectionnée)
 
ActiveSheet.Buttons.Add(ActiveCell.Left + 4, ActiveCell.Top + 8, ActiveCell.Width / 3, ActiveCell.Height - 3).Select
 
With Selection
.OnAction = "Colorie_vert"
.Characters.Text = "OK"
End With
 
ActiveSheet.Buttons.Add(ActiveCell.Left + 2 + ActiveCell.Width / 3, ActiveCell.Top + 8, ActiveCell.Width / 3, ActiveCell.Height - 3).Select
 
With Selection
.OnAction = "Colorie_orange"
.Characters.Text = "±OK"
End With
 
ActiveSheet.Buttons.Add(ActiveCell.Left + 2 + ActiveCell.Width * 2 / 3, ActiveCell.Top + 8, ActiveCell.Width / 3 - 2, ActiveCell.Height - 3).Select
 
With Selection
.OnAction = "Colorie_rouge"
.Characters.Text = "NOK"
End With
ActiveCell.Select
 
End Sub
Pour compenser le décalage j'augmente ActiveCell.Top + X

Toutes mes lignes sont créées dynamiquement avec une taille fixe de 31.5
Les cellules sont sélectionnées une par une avant d'appeler la procédure pour ajouter 3 boutons.

Comment puis-je corriger le décalage formé ?

Merci d'avance