bonjour
j'ai créer un fichier avec des menus déroulants
et je souhaiterais savoir si par une commande sur le fichier ( je suppose une macro, et que çà marche pas avec une formule), on peux le réinitialiser et vider les cellules à compléter du contenu qu'elle pourrais contenir
merci
(comment et ou coller cette fonction dans le fichier )
Compliqué ton truc :"je souhaiterais savoir si par une commande sur le fichier ( je suppose une macro, et que çà marche pas avec une formule), on peux le réinitialiser et vider les cellules à compléter du contenu qu'elle pourrais contenir", que veux-tu dire par là ?
c'est ce que je cherche
mais comment est ce que je peux le réutilisé d'en mon fichier ?
qu'est ce que je dois copié et ou et comment
et comment créer le bouton sur le fichier ?
Dans un classeur vierge, lancer la macro set_data_test puis Effacement
choisissez alors le type e cellules à effacer
Code:
Sub set_data_test()
Dim cont
cont = Array("123", "ABC", "=AUJOURDHUI()", "=100/0")
Range("A1").Resize(UBound(cont) + 1).FormulaLocal = Application.Transpose(cont)
End Sub
Code:
Sub Effacement()
Dim choix
choix = InputBox("Choisir le type de cellules à effacer" _
& Chr(13) & Chr(13) & _
"N = Nombres" & Chr(13) & "T = Texte" & Chr(13) & _
"F = Formules" & Chr(13) & "E = Erreurs" & Chr(13) & _
"NT = Nombres et Texte", "Effacement", "N")
With ActiveSheet.UsedRange
Select Case UCase(choix)
Case "N"
.SpecialCells(xlCellTypeConstants, 1).ClearContents 'nombres
Case "T"
.SpecialCells(xlCellTypeConstants, 23).ClearContents 'texte
Case "F"
.SpecialCells(xlCellTypeFormulas, 23).ClearContents 'formule
Case "E"
.SpecialCells(xlCellTypeFormulas, 16).ClearContents 'erreur
Case "NT"
.SpecialCells(xlCellTypeConstants, 23).ClearContents 'chiffres et texte
End Select
End With
End Sub
tuti
Donc tu pourrais utiliser une macro de cde type
Code:
Sub Tuti_efface()
ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub
Option Explicit
Sub Effacer_Cellule_Grise()
Dim Cellule As Range
Dim Plage As Variant
Application.ScreenUpdating = 0
Set Plage = Range("A1", Range("O100"))
For Each Cellule In Plage
If Cellule.Interior.ColorIndex = 15 Then Cellule.Value = ""
Next Cellule
Range("A1").Select
End Sub
Sub effacer()
Range("G2:K2,D8:E9,I8:K9,N8:N9,E15:G16,M14:N16,E20:G24,M20:N24,E28:G31,M28:N29,K36,G38,F40:I40,M40:N40,D42,H42:I43,M42:M43,F46:G46,L46:M46,M48,L51:M51,L51:M51,C55:D55,E55:G55,H55:K55,N54,C59:G60").ClearContents
End Sub