XL 2019 Effacer des cellules avec un bouton RAZ puis une boite de dialogue pour demander confirmation

Mimi1952

XLDnaute Junior
Bonsoir à tous,

Je désirerais obtenir l'effacement de certaines cellules ( celles avec les nombres en rouge dans le fichier joint) a l'aide d'un bouton RAZ puis avec une boite de dialogue demandant confirmation pour l'effacement .

Je vous remercie de vos réponses
mimi 1952
 

Pièces jointes

  • Classeur1FEUILLE TAB POULES.xlsx
    33 KB · Affichages: 5

Mimi1952

XLDnaute Junior
Bonjour @Mimi1952 , @kingfadhel , le forum

Je te propose ce fichier qui devrait correspondre à ta demande.

@Phil69970
Bonsoir Phil69970
Je m'excuse, c'est avec du retard que je viens te remercier pour ta solution , ta formule fonctionne vraiment bien .Je l'ai mis dans un classeur et j'ai mis une autre de Kingfadel qui fonctionne bien aussi dans un autre classeur .Merci encore .
Cdtl
mimi1952
 

Mimi1952

XLDnaute Junior
Bonsoir Kingfadel,
Je m'excuse, c'est avec du retard que je viens te remercier pour ta solution , ta formule fonctionne vraiment bien .Je l'ai mis dans un classeur et j'ai mis une autre de Phil69970 qui fonctionne bien aussi dans un autre classeur .Merci encore .
Cdtl
mimi1952
Bonjour, Kingfadhel,
Je suis satisfait de ta solution mise a part un petit problème que je viens de découvrir tout fonctionne bien mais seulement quand je protège ma feuille celà coince ,le débogueur rentre en action et me surligne en jaune a partir de .Range( _ .........................jusqu'à ClearContents. Et pour moi c'est une nécessité que mes feuilles soient protéger.
Pour vérifier si ca venais de moi sur mon fichier , j'ai essayer sur le dossier que tu m'a retourner et cela ce produit aussi , donc d'un coté je suis quand même soulager .Je te joint le fichier avec ta solution j'ai protèger la feuille et tu verras ce satané débogueur. ( sans MDP)
Je te souhaite un bon week-end
Cdrl Mimi 1952
 

Pièces jointes

  • Mimi 1952 FEUILLE TAB POULES (1).xlsm
    38.9 KB · Affichages: 2

Mimi1952

XLDnaute Junior
Bonjour @Mimi1952

Avec cette version le fichier est protégé .... et fonctionne....

*Avec cette version tu peux rajouter d'autres cellules en rouge (comme ma version précédente), elles seront aussi effacer.

@Phil69970
Bonjour Phil69970,

J'ai un petit souci , ta version fonctionne bien sur le fichier que tu m'as retourné j'ai rempli la totalité des cellules rouges et l'effacement c'est très bien passer , j'été content.
Mais ! J'ai inclus ce fichier dans mon classeur puisque c'était une copie de la feuille 'Tableaux Poules" ,j'ai verrouillé toute les cellules Sauf celles des scores qui doivent êtres les seules à êtres effacer et ensuite protéger la feuille et lorsque je clic sur le bouton RAZ l'effacement se produit que sur les 4 premières poules soit A/B/C/D les autres E/F/G/H restes remplies . Quelle ?connerie j'ai pu faire .
Une autre petite question serait-il possible de déplacer le bouton RAZ au milieu de la feuille comme sur le fichier " classeur cells rouges c'est avec lui que j'ai le souci , merci
Je joint les 2 fichiers
Bonne soirée
mimi1952
 

Pièces jointes

  • Classeur cells rouge1.xlsm
    44.3 KB · Affichages: 7
  • FEUILLE TAB POULES-V3 modif (3).xlsm
    46.3 KB · Affichages: 3

Phil69970

XLDnaute Impliqué
Bonjour @Mimi1952 , @soan

Sur le fichier "Classeur rouge" tu as mis 2 espaces
1619982573152.png
entre Tableaux et Poules ;)

Voici le fichier rectifié sans l'espace en trop .... et j'ai déplacé le bouton rouge.

Sur les 2 fichiers que tu as mis apres modif de l'espace en trop j'ai bien pu supprimer les cellules rouges
*Si cela fonctionne que sur la 1ere moitié du fichier, une piste, est ce que la police rouge est la même partout ?
Autrement sans ton vrai fichier c'est pas évident....

@Phil69970
 

Pièces jointes

  • Classeur cells rouge V2.xlsm
    43.2 KB · Affichages: 3
Dernière édition:

Mimi1952

XLDnaute Junior
Bonsoir Michel, Phil, kingfadhel, le fil,

tes 2 fichiers en retour. :) même code VBA pour les 2 fichiers :

VB:
Option Explicit

Private Sub CommandButton1_Click()
  ActiveCell.Select
  If MsgBox("Voulez-vous vraiment supprimer les valeurs en rouge ?", vbYesNo) <> vbYes Then Exit Sub
  Dim dcol%, dlig&, col%, lig&: Application.ScreenUpdating = 0: ActiveSheet.Unprotect
  dcol = Cells(5, Columns.Count).End(1).Column: dlig = Cells(Rows.Count, 7).End(3).Row - 8
  For col = 6 To dcol
    For lig = 6 To dlig
      With Cells(lig, col).MergeArea
        If .Rows.Count = 1 And .Columns.Count = 1 Then .ClearContents
      End With
    Next lig
  Next col
  ActiveSheet.Protect
End Sub

soan
Bonsoir, Soan
Je te remercie pour ta réponse mais ce n'est pas vraiment ce que je recherche car avec ta solution ca efface toute les cases .Ce que je veux c'est l'effacement que des nombres rouges dans les colonnes que j'ai mis en rouge.
Ca fonctionner avec la version de Phil mais seulement que sur la moitié des poules 4 au lieu de 8 .
Je joints un fichier avec les colonnes rouges.

merci et bonne soirée
mimi1952
 

Pièces jointes

  • Classeur cells colonn rouge1 (3).xlsm
    43.8 KB · Affichages: 2

soan

XLDnaute Barbatruc
@Mimi1952

tu as écrit : « avec ta solution ça efface toutes les cases » ; :oops: effectivement, j'ai bêtement oublié le test de couleur ! (même si j'avais bien compris qu'il fallait effacer que les cases avec des nombres rouges)

nouveau code VBA :

VB:
Option Explicit

Private Sub CommandButton1_Click()
  ActiveCell.Select
  If MsgBox("Voulez-vous vraiment supprimer les valeurs en rouge ?", vbYesNo) <> vbYes Then Exit Sub
  Dim dcol%, dlig&, col%, lig&: Application.ScreenUpdating = 0: ActiveSheet.Unprotect
  dcol = Cells(5, Columns.Count).End(1).Column: dlig = Cells(Rows.Count, 7).End(3).Row - 8
  For col = 6 To dcol
    For lig = 6 To dlig
      With Cells(lig, col).MergeArea
        If .Rows.Count = 1 And .Columns.Count = 1 Then _
          If .Font.Color = vbRed Then .ClearContents
      End With
    Next lig
  Next col
  ActiveSheet.Protect
End Sub



@Phil69970

bien vu, pour l'espace en trop dans le nom de la feuille "Tableaux Poules" ; j'ai corrigé dans ma version. :) (j'm'en étais pas rendu compte, surtout qu'mon code VBA n'utilise pas le nom de la feuille mais : ActiveSheet)

as-tu remarqué que mon code VBA effectue le job pour les cellules à partir de la colonne 6, et à partir de la ligne 6 ? ;)

soan
 

Pièces jointes

  • FEUILLE TAB POULES-V3 modif (3).xlsm
    46.3 KB · Affichages: 0
  • Classeur cells rouge1.xlsm
    44.3 KB · Affichages: 1
Dernière édition:

soan

XLDnaute Barbatruc
@Mimi1952, Phil,

Lis d'abord mon post #13 précédent. :)

je te retourne le fichier de ton post #11.

VB:
Option Explicit

Private Sub CommandButton1_Click()
  ActiveCell.Select
  If MsgBox("Voulez-vous vraiment supprimer les valeurs en rouge ?", vbYesNo) <> vbYes Then Exit Sub
  Dim dcol%, dlig&, col%, lig&: Application.ScreenUpdating = 0: ActiveSheet.Unprotect
  dcol = Cells(5, Columns.Count).End(1).Column: dlig = Cells(Rows.Count, 7).End(3).Row - 8
  For col = 6 To dcol
    For lig = 6 To dlig
      With Cells(lig, col).MergeArea
        If .Rows.Count = 1 And .Columns.Count = 1 Then _
          If .Font.Color = vbRed Then .ClearContents
      End With
    Next lig
  Next col
  ActiveSheet.Protect
End Sub

note que cette fois, le test de couleur est bien présent : If .Font.Color = vbRed Then

➯ pour tous les poules A à D et E à H, c'est bien QUE les cases avec des nombres en rouge qui sont effacées ; ce n'est plus toutes les cellules.​

soan
 

Pièces jointes

  • Classeur cells colonn rouge1 (3).xlsm
    45.6 KB · Affichages: 1
Dernière édition:

Phil69970

XLDnaute Impliqué
@soan

as-tu remarqué que mon code VBA effectue le job pour les cellules à partir de la colonne 6, et à partir de la ligne 6 ?
oui j'ai vu tu parcours les cellules de F6 à AN47 alors que mon code va de A2 à AN62, ton code est plus rapide mais sur le nombre de cellules la différence est infime mais si dans les 5 premières colonnes ou au delà de la 47eme lignes il y a (dans une future version) des cellules en rouge et bien c'est raté alors que mon code les prendra par contre si il y a des nouvelles colonnes ton code les prendra et pas mon code....🙃

*Je ratisse plus large....en partant du principe qu'il y plus de chance que le fichier s'étende vers le bas plutôt que sur le côté. ;)

Bonne soirée

@Phil69970
 

Statistiques des forums

Discussions
287 377
Messages
1 883 191
Membres
162 817
dernier inscrit
Mouroud
Haut Bas