Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

effacement cellules

  • Initiateur de la discussion Initiateur de la discussion GHISLAIN
  • 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 !

GHISLAIN

XLDnaute Impliqué
bonjour le forum,

je cherche a effacer 6 cellules a droite d'une liste de validation si celle ci est sélectionnée sur CONGÉ.

ce que j ai fait fonctionne a moitié , en effet , je dois sélectionner ma valeur "CONGÉ" sortir de la liste de validation puis revenir dedans pour que ça fonctionne , il faudrait que ça c efface des que CONGÉ est sélectionne

merci a tous de vos suggestions

et aide apporté

cordialement

Ghislain
 

Pièces jointes

Re : effacement cellules

re ,
je crois avoir trouvé

Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Integer
If Target.Cells.Count > 1 Then Exit Sub
If Target = "CONGE" Then

R = MsgBox("ATTENTION , VOUS AVEZ SELECTIONNEE ""CONGE"" , LES VELEURS DE LA LIGNE VOUS ETRE EFFACEES , CLIQUER SUR OUI POUR CONFIRMER", 1572913, "EFFACEMENT DE DONNEES")
Select Case R
Case 1

Target.Offset(0, 1) = ""
Target.Offset(0, 2) = ""
Target.Offset(0, 3) = ""
Target.Offset(0, 4) = ""
Target.Offset(0, 5) = ""
Target.Offset(0, 6) = ""

Case 2
'Annuler
End Select

End If


cordialement

ghislain
 
Re : effacement cellules

Bonsoir GHISLAIN,

Si je puis me permettre, je te suggère une amélioration de ton code (j'avais commencé à rédiger avant ton deuxième message mais j'ai dû m'interrompre).

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Integer
If Target.Cells.Count = 1 And Target = "CONGE" Then
  R = MsgBox("ATTENTION , VOUS AVEZ SELECTIONNE ""CONGE"" , LES VALEURS DE LA LIGNE VONT ETRE EFFACEES , CLIQUEZ SUR OUI POUR CONFIRMER", 1572913, "EFFACEMENT DE DONNEES")
  Select Case R
    Case 1
      Application.EnableEvents = False
      Range(Target.Offset(0, 1), Target.Offset(0, 6)).ClearContents
      Application.EnableEvents = True
    Case 2
      'Annuler
  End Select
End If
End Sub

NB : j'ai ajouté les deux lignes commençant par "Application.EnableEvents" pour éviter que la macro refasse un tour quand les cellules sont modifiées. On devrait pratiquement toujours insérer ces instructions dans une procédure "Change".

Espérant avoir été utile.

Bonne soirée.
 
Re : effacement cellules

bonsoir Papou-net,

je te remercie de passer sur mon fil et de m'apporter une amélioration dans mon code , je suis preneur et réduira celui que j ai fait

merci a toi de prendre le temps de partager ton expérience

très cordialement

Ghislain
 
- 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
12
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…