Je n'arrive pas sélectionner des données Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
t
tanguy2604
Jeune membre
Jeune membre
Messages : 17
Inscrit le : 18 octobre 2019
Version d'Excel : 2016

Message par tanguy2604 » 19 novembre 2019, 09:50

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
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 691
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 19 novembre 2019, 10:13

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
Modifié en dernier par dhany le 19 novembre 2019, 10:13, modifié 1 fois.
1 membre du forum aime ce message.
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'216
Appréciations reçues : 135
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 19 novembre 2019, 10:13

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+
Ici c'est un forum Excel/VBA pas Photoshop :
Quand vous amenez votre voiture au garagiste vous lui donnez pas juste la photo ?
t
tanguy2604
Jeune membre
Jeune membre
Messages : 17
Inscrit le : 18 octobre 2019
Version d'Excel : 2016

Message par tanguy2604 » 19 novembre 2019, 11:08

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 :D
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 691
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 19 novembre 2019, 11:13

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

bonne continuation !  :trfl:

dhany
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 691
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 21 novembre 2019, 10:22

Bonjour tanguy,
dans ton MP, tu a écrit :Mon but serait de supprimer la ligne laissée vide par votre macro.
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
t
tanguy2604
Jeune membre
Jeune membre
Messages : 17
Inscrit le : 18 octobre 2019
Version d'Excel : 2016

Message par tanguy2604 » 21 novembre 2019, 10:43

Merci j'ai essayé cette nouvelle fonctionnalité et elle fonctionne comme je le désirais, merci.
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 691
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 21 novembre 2019, 11:03

merci pour ton retour !  :D

bonne continuation !  :trfl:

dhany
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message