Pour l'instant tout va bien,
le problème vient lorsque je trie mes lignes par ordre alphabétique la check box associée ne bouge pas! je ne sais pas comment lier ma check box à la ligne correspondante...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Si "lotexterne" et "tache" ne sont pas des variables, tu dois les entourer de guillemets.
Pour que les "checkbox" suivent les cellules où elles ont été placées, les bornes des "checkbox" doivent être situées à l'intérieur de leur cellule respective et la propriété "Placement" doit être à xlmove ou si tu préfères, un clic droit sur le checkbox / format du contrôle / onglet : propriétés / et tu sélectionnes le bouton radio : "Déplacer sans dimensionner avec les cellules". Tu pourrais aussi utiliser l'option : "Déplacer et dimensionner avec les cellules". "Attention, si les cellules ne sont pas toutes de même dimension.
Dans la majeure partie des situations, on n'est pas obligé de sélectionner pour travailler avec les objets. Cette syntaxe est préférable
'--------------------------------------- Sub test() Dim Sh As Worksheet, Obj As Shape Dim Rg As Range
'Adapte le nom de la feuille au besoin Set Sh = Worksheets("fSynthèse")
With Sh .Rows(9).EntireRow.Insert .Range("B9") = lotexterne .Range("C9") = tache Set Rg = .Range("N9") Set Obj = .Shapes.AddFormControl(xlCheckBox, Rg.Left, Rg.Top, _ Rg.Width, Rg.Height) End With With Obj .Placement = xlMove With .OLEFormat.Object .Caption = "OK" 'Le texte sur le contrôle .PrintObject = False End With End With End Sub '---------------------------------------
Si "lotexterne" et "tache" ne sont pas des variables,
tu dois les entourer de guillemets.
Pour que les "checkbox" suivent les cellules où elles
ont été placées, les bornes des "checkbox" doivent
être situées à l'intérieur de leur cellule respective et
la propriété "Placement" doit être à xlmove ou si tu
préfères, un clic droit sur le checkbox / format du contrôle /
onglet : propriétés / et tu sélectionnes le bouton radio :
"Déplacer sans dimensionner avec les cellules". Tu pourrais
aussi utiliser l'option : "Déplacer et dimensionner avec les
cellules". "Attention, si les cellules ne sont pas toutes de même
dimension.
Dans la majeure partie des situations, on n'est pas obligé de
sélectionner pour travailler avec les objets. Cette syntaxe
est préférable
'---------------------------------------
Sub test()
Dim Sh As Worksheet, Obj As Shape
Dim Rg As Range
'Adapte le nom de la feuille au besoin
Set Sh = Worksheets("fSynthèse")
With Sh
.Rows(9).EntireRow.Insert
.Range("B9") = lotexterne
.Range("C9") = tache
Set Rg = .Range("N9")
Set Obj = .Shapes.AddFormControl(xlCheckBox, Rg.Left, Rg.Top, _
Rg.Width, Rg.Height)
End With
With Obj
.Placement = xlMove
With .OLEFormat.Object
.Caption = "OK" 'Le texte sur le contrôle
.PrintObject = False
End With
End With
End Sub
'---------------------------------------
Si "lotexterne" et "tache" ne sont pas des variables, tu dois les entourer de guillemets.
Pour que les "checkbox" suivent les cellules où elles ont été placées, les bornes des "checkbox" doivent être situées à l'intérieur de leur cellule respective et la propriété "Placement" doit être à xlmove ou si tu préfères, un clic droit sur le checkbox / format du contrôle / onglet : propriétés / et tu sélectionnes le bouton radio : "Déplacer sans dimensionner avec les cellules". Tu pourrais aussi utiliser l'option : "Déplacer et dimensionner avec les cellules". "Attention, si les cellules ne sont pas toutes de même dimension.
Dans la majeure partie des situations, on n'est pas obligé de sélectionner pour travailler avec les objets. Cette syntaxe est préférable
'--------------------------------------- Sub test() Dim Sh As Worksheet, Obj As Shape Dim Rg As Range
'Adapte le nom de la feuille au besoin Set Sh = Worksheets("fSynthèse")
With Sh .Rows(9).EntireRow.Insert .Range("B9") = lotexterne .Range("C9") = tache Set Rg = .Range("N9") Set Obj = .Shapes.AddFormControl(xlCheckBox, Rg.Left, Rg.Top, _ Rg.Width, Rg.Height) End With With Obj .Placement = xlMove With .OLEFormat.Object .Caption = "OK" 'Le texte sur le contrôle .PrintObject = False End With End With End Sub '---------------------------------------