Simplifier code pour effacer

  • Initiateur de la discussion Initiateur de la discussion Citaro
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Citaro

XLDnaute Occasionnel
Bonsoir,

Je cherche à simplifier ce code qui efface des cellules à partir d'un userform

Merci

Private Sub CommandButton2_Click()
Dim rep As Integer
rep = MsgBox("Voulez-vous supprimer le code analytique " & TextBox1 & " " & TextBox2, vbQuestion + vbYesNo)
If rep = vbYes Then
SdA.Cells(LI, 1).ClearContents
SdA.Cells(LI, 2).ClearContents
SdA.Cells(LI, 3).ClearContents
SdA.Cells(LI, 4).ClearContents
SdA.Cells(LI, 5).ClearContents
SdA.Cells(LI, 6).ClearContents
SdA.Cells(LI, 7).ClearContents
SdA.Cells(LI, 8).ClearContents

SdA.Cells(LI, 17).ClearContents
SdA.Cells(LI, 18).ClearContents
SdA.Cells(LI, 19).ClearContents
SdA.Cells(LI, 20).ClearContents
SdA.Cells(LI, 21).ClearContents
SdA.Cells(LI, 22).ClearContents
SdA.Cells(LI, 23).ClearContents
SdA.Cells(LI, 24).ClearContents
SdA.Cells(LI, 25).ClearContents
SdA.Cells(LI, 26).ClearContents
SdA.Cells(LI, 27).ClearContents
End If
End Sub
 
Dernière édition:
Re : Simplifier code pour effacer

Bonsoir Citaro,

Comme ceci, peut-être:

Code:
Private Sub CommandButton2_Click()
Dim rep As Integer
rep = MsgBox("Voulez-vous supprimer le code analytique " & TextBox1 & " " & TextBox2, vbQuestion + vbYesNo)
If rep = vbYes Then
SdA.Range(Cells(LI, 1), Cells(LI, 8)).ClearContents
SdA.Range(Cells(LI, 17), Cells(LI, 27)).ClearContents
End If
End Sub
A +

Cordialement.
 
Re : Simplifier code pour effacer

Autre solution:

Code:
Private Sub CommandButton2_Click()
Dim plage As Range
Set plage = Application.Union(Sheets("sda").Range("A" & LI & ":H" & LI), Sheets("sda").Range("Q" & LI & ":AA" & LI))
If MsgBox("Voulez-vous supprimer le code analytique " & TextBox1 & " " & TextBox2, vbQuestion + vbYesNo) = vbYes Then plage.ClearContents
End Sub
Cordialement.
 
Re : Simplifier code pour effacer

Bonjour Citaro,

Paresseux du clavier par nature, je choisirais sans hésiter la seconde. C'est la raison pour laquelle je l'ai ajoutée.

Autre avantage: tu peux éventuellement faire appel à la variable "plage" pour d'autres actions non prévues au départ.

Bonne journée.

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
625
Réponses
7
Affichages
624
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
430
Réponses
3
Affichages
901
Retour