Macro blaquante si une cellule est vide

bougui45 Messages postés 1 Statut Membre -  
 rawy -
Bonjour,
je cherche de l'aide sur une macro, qui pourrai etre bloquer si une cellule reste vide
Sub macro2()
'
' Macro2 Macro
' Macro enregistrée le 30/11/2007 par Jean-Marc
'
' Touche de raccourci du clavier: Ctrl+q
'
Range("A1:R66").Select
Range("R66").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Dim NomFichier
NomFichier = Range("C8") & "-" & Range("D8") & "-" & Range("E8")
ActiveWorkbook.SaveAs "C:\atelier\" & NomFichier & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.SmallScroll Down:=-1
ActiveWindow.LargeScroll Down:=-1
ActiveWindow.SmallScroll Down:=-5
ActiveWindow.SmallScroll Down:=40
ActiveWindow.LargeScroll Down:=-2
Range("D8:I8").Select
Selection.ClearContents
Range("C9:F9").Select
Selection.ClearContents
Range("C10:G10").Select
Selection.ClearContents
Range("B11:I11").Select
Selection.ClearContents
Range("B12:I12").Select
Selection.ClearContents
Range("E13:J13").Select
Selection.ClearContents
Range("D14:E14").Select
Selection.ClearContents
Range("I14:J14").Select
Selection.ClearContents
Range("B16:C16").Select
Selection.ClearContents
Range("E16:F16").Select
Selection.ClearContents
Range("J16:K16").Select
Selection.ClearContents
Range("L16:M16").Select
Selection.ClearContents
Range("E18:F18").Select
Selection.ClearContents
Range("G18:I18").Select
Selection.ClearContents
Range("J18:K18").Select
Selection.ClearContents
Range("M18").Select
Selection.ClearContents
Range("B17:C17").Select
Selection.ClearContents
Range("C21:Q21").Select
Selection.ClearContents
Range("A22:Q22").Select
Selection.ClearContents
Range("C23:Q23").Select
Selection.ClearContents
Range("A24:Q24").Select
Selection.ClearContents
Range("C25:Q25").Select
Selection.ClearContents
Range("A26:Q26").Select
Selection.ClearContents
Range("B29:C29").Select
Selection.ClearContents
Range("D29:E29").Select
Selection.ClearContents
Range("F29:G29").Select
Selection.ClearContents
Range("B30:C30").Select
Selection.ClearContents
Range("K30:L30").Select
Selection.ClearContents
Range("M30:N30").Select
Selection.ClearContents
Range("O30").Select
Selection.ClearContents
Range("P30").Select
Selection.ClearContents
Range("B30:C30").Select
Selection.ClearContents
Range("A35").Select
ActiveWindow.SmallScroll Down:=17
Range("A35:Q44").Select
Selection.ClearContents
Range("N46:Q48").Select
Selection.ClearContents
Range("N47").Select
ActiveWindow.SmallScroll Down:=7
Range("C50:D50").Select
Selection.ClearContents
Range("B51:C51").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-1
ActiveWindow.LargeScroll Down:=-1
ActiveWindow.SmallScroll Down:=-9
Range("D8:I8").Select

End Sub

2 réponses

xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
 
Salut !
avant de faire ton clearContents
tu peux selectionner plusieurs cellules adjacentes et sur plusieurs colonnes adjacentes, ce serait plus lisible
par exemple :
Range("B29:C29").Select
Selection.ClearContents
Range("D29:E29").Select
Selection.ClearContents
Range("F29:G29").Select
Selection.ClearContents

à remplacer par :
Range("B29:G29").Select
Selection.ClearContents

Qu'est-ce que tu veux faire exactement ?

0
rawy
 
comme j'ai pas d'imprimente connecter à mon poste mon sup m'a demandé de copier le fichier de mon poste a fin de pouvoir l'imprimer chez lui, mais hélas il ne s'ouvrir pas sur son poste
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 450
 
Bonjour
Xkristy, pour prolonger ta proposition d'allégement des macro:
Supprimer lesSamllscroll qui ne servent a rien
Regrouper les cellules à effacer avec comme tu le dis par exemple B29:G29
Mais aussi:
("G29:B29,B16:K16,B18:K18, .... etc.....")Sachant que les deux points groupent les champs et la virgule les séparent.
Ceci dit, j'attend aussi les explications de Bougui45 car la solution m'interresse. Je crois comprendre qu'il veut que sa macro ne se lance pas si une des cellules du champ sélectionné est vide...... peut être pour savoir si le tableau est bien plein avant de l'effacer?
BCRDLMNT
0