J'ai une liste dans excel avec pour chaque ligne de cette liste une case à cocher dans la colonne A
Chacune des case a cocher est liée a une cellule de la colonne A.
Ex :
Ligne 3 la case a cocher est liée à la cellule A3
Ligne 4 la case a cocher est liée à la cellule A4 etc etc
JE souhaite par code vba supprimer la ligne sur laquelle je me trouve et en même temps la case à cocher présente sur cette ligne
pour supprimer la ligne, j'utilise :
activecell.row.delete
mais je n'arrive pas a supprimer la case à cocher .
j'aimerai le faire en faisant référence à la cellule liée. (Linkedcell) je crois)
quelle syntaxe dois je utiliser pour dire a excel de supprimer la case à cocher qui est liée a la cellule A3 par exemple ou a la ligne de ma cellule active (Je pensai utiliser Cells(activecell.row,1) pour identifier la cellule liée.
Je n'arrive pas à le traduire
Quelqu'un aurait il une solution ?
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, Comme tu ne l'as pas mentionné dans ta question, l'exemple de code suivant s'adresse à des "Checkbox" émanant de la boîte d'outils "contrôle". Le code devrait placer dans le module de la feuille. '--------------------------------------------- Sub test() Dim Ole As OLEObject, X As Long 'Nom onglet de la feuille à adapter With Worksheets("Feuil1") X = ActiveCell.Row For Each Ole In Feuil1.OLEObjects If TypeOf Ole.Object Is MSForms.CheckBox Then If Range(Ole.LinkedCell).Row = X Then Ole.Delete ActiveCell.EntireRow.Delete xlUp End If End If Next End With End Sub '--------------------------------------------- MichD
Bonjour,
Comme tu ne l'as pas mentionné dans ta question, l'exemple de code
suivant s'adresse à des "Checkbox" émanant de la boîte d'outils "contrôle".
Le code devrait placer dans le module de la feuille.
'---------------------------------------------
Sub test()
Dim Ole As OLEObject, X As Long
'Nom onglet de la feuille à adapter
With Worksheets("Feuil1")
X = ActiveCell.Row
For Each Ole In Feuil1.OLEObjects
If TypeOf Ole.Object Is MSForms.CheckBox Then
If Range(Ole.LinkedCell).Row = X Then
Ole.Delete
ActiveCell.EntireRow.Delete xlUp
End If
End If
Next
End With
End Sub
'---------------------------------------------
Bonjour, Comme tu ne l'as pas mentionné dans ta question, l'exemple de code suivant s'adresse à des "Checkbox" émanant de la boîte d'outils "contrôle". Le code devrait placer dans le module de la feuille. '--------------------------------------------- Sub test() Dim Ole As OLEObject, X As Long 'Nom onglet de la feuille à adapter With Worksheets("Feuil1") X = ActiveCell.Row For Each Ole In Feuil1.OLEObjects If TypeOf Ole.Object Is MSForms.CheckBox Then If Range(Ole.LinkedCell).Row = X Then Ole.Delete ActiveCell.EntireRow.Delete xlUp End If End If Next End With End Sub '--------------------------------------------- MichD
MichD
bonjour, Place ce code dans la feuille où tu veux supprimer ces objets. Ce code fait référence à des checkbox émanant de la boîte d'outils "contrôle". Sub test() Dim Ole As OLEObject, X As Long 'Nom onglet de la feuille à adapter With Worksheets("Feuil1") X = ActiveCell.Row For Each Ole In Feuil1.OLEObjects If TypeOf Ole.Object Is MSForms.CheckBox Then If Range(Ole.LinkedCell).Row = X Then Ole.Delete ActiveCell.EntireRow.Delete xlUp End If End If Next End With End Sub MichD
bonjour,
Place ce code dans la feuille où tu veux supprimer ces objets.
Ce code fait référence à des checkbox émanant de la boîte d'outils
"contrôle".
Sub test()
Dim Ole As OLEObject, X As Long
'Nom onglet de la feuille à adapter
With Worksheets("Feuil1")
X = ActiveCell.Row
For Each Ole In Feuil1.OLEObjects
If TypeOf Ole.Object Is MSForms.CheckBox Then
If Range(Ole.LinkedCell).Row = X Then
Ole.Delete
ActiveCell.EntireRow.Delete xlUp
End If
End If
Next
End With
End Sub
bonjour, Place ce code dans la feuille où tu veux supprimer ces objets. Ce code fait référence à des checkbox émanant de la boîte d'outils "contrôle". Sub test() Dim Ole As OLEObject, X As Long 'Nom onglet de la feuille à adapter With Worksheets("Feuil1") X = ActiveCell.Row For Each Ole In Feuil1.OLEObjects If TypeOf Ole.Object Is MSForms.CheckBox Then If Range(Ole.LinkedCell).Row = X Then Ole.Delete ActiveCell.EntireRow.Delete xlUp End If End If Next End With End Sub MichD