Je n'arrive pas sélectionner des données

Bonjour a tous,

Je viens vers vous pour résoudre une de mes problème, effectivement j'ai un programme qui me permet de choisir dans une userform (à l'aide de checkbox) les informations que je veux supprimer dans un tableau. Ces données sont dans une feuille différente de celle qui me sert de "rendu". Mon soucis se situe lorsque je sélectionne une information et que j'essaye de la supprime excel me montrer un message d'erreur "1004 la méthode Select de la classe range a échoué", je vous communique la partie de mon programme concernée pour plus d'informations.

'Je sélectionne a l'aide d'une chekcbox la ligne concernée"

If CheckBox1.Value = True Then Worksheets("Feuil2").Range("A2:D2").Select

If CheckBox2.Value = True Then Worksheets("Feuil2").Range("A3:D3").Select

If CheckBox3.Value = True Then Worksheets("Feuil2").Range("A4:D4").Select

If CheckBox4.Value = True Then Worksheets("Feuil2").Range("A5:D5").Select

If CheckBox5.Value = True Then Worksheets("Feuil2").Range("A6:D6").Select

If CheckBox6.Value = True Then Worksheets("Feuil2").Range("A7:D7").Select

If CheckBox7.Value = True Then Worksheets("Feuil2").Range("A8:D8").Select

If CheckBox8.Value = True Then Worksheets("Feuil2").Range("A9:D9").Select

If CheckBox9.Value = True Then Worksheets("Feuil2").Range("A10:D10").Select

If CheckBox10.Value = True Then Worksheets("Feuil2").Range("A11:D11").Select

'Je supprime la ligne sélectionner plus haut

Selection.ClearContents

Bonjour tanguy,

je te propose ce code VBA :

  Dim plg$
  If CheckBox1 Then plg = "A2:D2"
  If CheckBox2 Then plg = "A3:D3"
  If CheckBox3 Then plg = "A4:D4"
  If CheckBox4 Then plg = "A5:D5"
  If CheckBox5 Then plg = "A6:D6"
  If CheckBox6 Then plg = "A7:D7"
  If CheckBox7 Then plg = "A8:D8"
  If CheckBox8 Then plg = "A9:D9"
  If CheckBox9 Then plg = "A10:D10"
  If CheckBox10 Then plg = "A11:D11"
  If plg <> "" Then Worksheets("Feuil2").Range(plg).ClearContents

attention : si au moins une des feuilles est protégée :

  Dim plg$
  If CheckBox1 Then plg = "A2:D2"
  If CheckBox2 Then plg = "A3:D3"
  If CheckBox3 Then plg = "A4:D4"
  If CheckBox4 Then plg = "A5:D5"
  If CheckBox5 Then plg = "A6:D6"
  If CheckBox6 Then plg = "A7:D7"
  If CheckBox7 Then plg = "A8:D8"
  If CheckBox8 Then plg = "A9:D9"
  If CheckBox9 Then plg = "A10:D10"
  If CheckBox10 Then plg = "A11:D11"
  With Worksheets("Feuil2")
    If plg <> "" Then
      .Unprotect
      .Range(plg).ClearContents
      .Protect
    End If
  End With

dhany

Bonjour,

Une macro commence par Sub et se termine par Sub

Dans ce forum et surtout si on est un débutant on joint un fichier ça évite de nombreux échanges inutiles...

Sélectionner des données ne sert à rien : On tue directement !

Private Sub CommandButton1_Click()
If CheckBox1 = True Then Worksheets("Feuil2").Range("A2:D2").ClearContents
End Sub

A+

Merci pour vos réponses si rapide, j'ai pu finalement résoudre mon problème, merci aussi pour les connaissances que vous m'avez apporté j'en ferai bon usage

merci pour ton retour, et pour avoir passé le sujet en résolu !

bonne continuation !

dhany

Bonjour tanguy,

[quote="dans ton MP, tu"]Mon but serait de supprimer la ligne laissée vide par votre macro.[/quote]

suite à cette demande non confidentielle, je te propose ici ce code VBA :

  Dim plg$
  If CheckBox1 Then plg = "A2:D2"
  If CheckBox2 Then plg = "A3:D3"
  If CheckBox3 Then plg = "A4:D4"
  If CheckBox4 Then plg = "A5:D5"
  If CheckBox5 Then plg = "A6:D6"
  If CheckBox6 Then plg = "A7:D7"
  If CheckBox7 Then plg = "A8:D8"
  If CheckBox8 Then plg = "A9:D9"
  If CheckBox9 Then plg = "A10:D10"
  If CheckBox10 Then plg = "A11:D11"
  With Worksheets("Feuil2")
    If plg <> "" Then
      .Unprotect "loup"
      .Range(plg).Delete 2
      .Protect "loup"
    End If
  End With

(remplace "loup" par ton propre mot de passe)

dhany

Merci j'ai essayé cette nouvelle fonctionnalité et elle fonctionne comme je le désirais, merci.

merci pour ton retour !

bonne continuation !

dhany

Rechercher des sujets similaires à "arrive pas selectionner donnees"