Autres Effacer plusieurs cellules prédéfinis en utilisant une serie de boutons VBA macros

LUYGYS

XLDnaute Occasionnel
Il s agit d' effacer les cellules d' un click ou il y a un 8 et aucune autre en utilisant une série de boutons dans l' ordre comme une séquence code !
Un peut DE VBA est bien venu !
Merci d' avance a tous les collaborateurs. ! :)

PS: le 8 est juste pour indiquer quelles sont les cellules a effacer, les donnes dans ces cellules peut être divers et de formats complètement différents !!!!

LUYGYS
 

Pièces jointes

  • RESET COLONNES PRECHOISIES.xlsm
    86.3 KB · Affichages: 9
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

oui j ai essai mais ca ne marche carre ment pas
Arrête de dire n'importe quoi! :rolleyes:
Sur un feuille vierge dans un classeur vierge, fais le test suivant
VB:
Sub Création_Exemple_Pour_Luygys()
[B9:B60] = "=IF(MOD(ROW(),9)<>8,REPT(CHAR(RANDBETWEEN(65,90)),5),MOD(ROW(),9))"
[B9:B60] = [B9:B60].Value
MsgBox "Effacer les cellules égales à 8?", vbQuestion
Efface_II
End Sub
Private Sub Efface_II()
Dim p As Range
With ActiveSheet
  T = .[B9:B1091].Value: Set p = .Cells(9, .Columns.Count).Resize(3 * 361)
  p.FormulaR1C1 = "=IF(RC2=8,""$"",0)": p.SpecialCells(-4123, 2).Offset(, -Columns.Count + 2) = ""
  .Columns(.Columns.Count).Clear
End With
End Sub
Maintenant tu peux supprimer ou éditer le message#29 ;)
 

LUYGYS

XLDnaute Occasionnel
Re


Arrête de dire n'importe quoi! :rolleyes:
Sur un feuille vierge dans un classeur vierge, fais le test suivant
VB:
Sub Création_Exemple_Pour_Luygys()
[B9:B60] = "=IF(MOD(ROW(),9)<>8,REPT(CHAR(RANDBETWEEN(65,90)),5),MOD(ROW(),9))"
[B9:B60] = [B9:B60].Value
MsgBox "Effacer les cellules égales à 8?", vbQuestion
Efface_II
End Sub
Private Sub Efface_II()
Dim p As Range
With ActiveSheet
  T = .[B9:B1091].Value: Set p = .Cells(9, .Columns.Count).Resize(3 * 361)
  p.FormulaR1C1 = "=IF(RC2=8,""$"",0)": p.SpecialCells(-4123, 2).Offset(, -Columns.Count + 2) = ""
  .Columns(.Columns.Count).Clear
End With
End Sub
Maintenant tu peux supprimer ou éditer le message#29 ;)
bonjour
c est teste et les cellule s qui on valeur = 8 sont efface
mais ce que est demande en fait ce n est pas que la valeur 8 seulement soit efface mais les cellules ou se trouvent les 8 soiten effaces quelque soit la valeur de ces cellules la uniquement .
cordialement
LUYGYS
 

Staple1600

XLDnaute Barbatruc
Re

J'approche le point Miction/Violon... :eek:

Essaies ce nouveau petit test (toujours sur une feuille vide)
VB:
Sub Création_Exemple_Pour_Luygys_II()
[B9:B60] = "=IF(MOD(ROW(),9)<>8,REPT(CHAR(RANDBETWEEN(65,90)),5),""1248825877"")"
[B9:B60] = [B9:B60].Value
MsgBox "Effacer les cellules qui contiennent au moins un 8", vbQuestion
Efface_II
End Sub
Private Sub Efface_II()
Dim p As Range
With ActiveSheet
  T = .[B9:B1091].Value: Set p = .Cells(9, .Columns.Count).Resize(3 * 361)
  p.FormulaR1C1 = "=IF(ISNUMBER(SEARCH(""8"",RC2)),""$"",0)": p.SpecialCells(-4123, 2).Offset(, -Columns.Count + 2) = ""
  .Columns(.Columns.Count).Clear
End With
End Sub
 

LUYGYS

XLDnaute Occasionnel
Re

J'approche le point Miction/Violon... :eek:

Essaies ce nouveau petit test (toujours sur une feuille vide)
VB:
Sub Création_Exemple_Pour_Luygys_II()
[B9:B60] = "=IF(MOD(ROW(),9)<>8,REPT(CHAR(RANDBETWEEN(65,90)),5),""1248825877"")"
[B9:B60] = [B9:B60].Value
MsgBox "Effacer les cellules qui contiennent au moins un 8", vbQuestion
Efface_II
End Sub
Private Sub Efface_II()
Dim p As Range
With ActiveSheet
  T = .[B9:B1091].Value: Set p = .Cells(9, .Columns.Count).Resize(3 * 361)
  p.FormulaR1C1 = "=IF(ISNUMBER(SEARCH(""8"",RC2)),""$"",0)": p.SpecialCells(-4123, 2).Offset(, -Columns.Count + 2) = ""
  .Columns(.Columns.Count).Clear
End With
End Sub
Bonjour
je vais essaier d 'être plus compréensible en faite le numéro est la pour montrer les coordonnées des cellules uniquement a effacer quelque soit ça valeur ou même néant exemple 1° 8 = CELLULE B9
2° 8 CELLULE B10
3° 8 CELLULE B12
4° 8 CELLULE B14
5° 8 CELLULE B16
6° 8 CELLULE B17 ET AINSI DE SUITE JUSQU AU DERNIER 8
donc le numero 8 montre les coordonées des cellules qui doivent etres effaces.
Cordialement
LUYGYS
 

LUYGYS

XLDnaute Occasionnel
Hello,
Si on efface les cellules qui ont 8 après c'est rien
Faut 'il voir aussi des cellules ailleurs???
Bruno
Bonjour
je vais essaier d 'être plus compréensible en faite le numéro est la pour montrer les coordonnées des cellules uniquement a effacer quelque soit ça valeur ou même néant exemple 1° 8 = CELLULE B9
2° 8 CELLULE B10
3° 8 CELLULE B12
4° 8 CELLULE B14
5° 8 CELLULE B16
6° 8 CELLULE B17 ET AINSI DE SUITE JUSQU AU DERNIER 8
donc le numero 8 montre les coordonées des cellules qui doivent etres effaces.
Cordialement
LUYGYS
 

Staple1600

XLDnaute Barbatruc
Re

On peut continuer longtemps comme cela..
Alors je propose la chose suivante
Joins un autre fichier exemple (allégé et simplifié) avec deux onglets nommés comme suit
AvantMACRO
AprèsMACRO (sur lequel tu aurais mis manuellement le résultat que tu veux obtenir)

PS: Et pas besoin des images, ni des boutons, ça alourdit le classeur qui n'est qu'un classeur de test
 

LUYGYS

XLDnaute Occasionnel
Bonjour le 8 montre exactement que c est la cellule b10 que doit etre efface et les autres 8 pareil la valeur 8 on s en fout simple.
les cellules seront toujours les mêmes a effacer type formulaire rempli et bouton reset effacer pour remplir a nouveau
les boutons sont la pour effacer avec un type de warning que on va effacer mais que on peut arreter par le bouton stop et on relance le processus par le premier bouton reset d suite . si on a efface on peut tout remplir avec les valeur qui s i trouvait par le bouton remettre
;)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 082
Messages
2 085 168
Membres
102 804
dernier inscrit
edaguo