Simplification d'une macro - Instant Culture!

sp3ktroom

XLDnaute Nouveau
Bonsoir le Forum,

Voila, j'ai un question à la fois pratique, mais surtout qui me permettra de faire quelque pas en avant pour le VBA.
Ma question est toute simple, peut-on simplifier une macro de ce genre, et si oui de quelle manière?

Sub raz()
'
' faxd_remiseazero Macro
'

'
Range("F5").Select
ActiveCell.FormulaR1C1 = ""
Range("F7").Select
ActiveCell.FormulaR1C1 = ""
Range("F9").Select
ActiveCell.FormulaR1C1 = ""
Range("F10").Select
ActiveCell.FormulaR1C1 = ""
Range("G13:H15").Select
ActiveCell.FormulaR1C1 = ""
Range("T14:U14").Select
ActiveCell.FormulaR1C1 = ""
Range("T15").Select
ActiveCell.FormulaR1C1 = ""
Range("T16").Select
ActiveCell.FormulaR1C1 = ""
Range("T17").Select
ActiveCell.FormulaR1C1 = ""
Range("T18").Select
ActiveCell.FormulaR1C1 = ""
Range("T19:U19").Select
ActiveCell.FormulaR1C1 = ""
Range("T20:U20").Select
ActiveCell.FormulaR1C1 = ""
Range("T21:V21").Select
ActiveCell.FormulaR1C1 = ""
Range("T22").Select
ActiveCell.FormulaR1C1 = ""
Range("H26").Select
ActiveCell.FormulaR1C1 = ""
Range("A1").Select
End Sub

Merci de vos réponses.
 

Victor21

XLDnaute Barbatruc
Re : Simplification d'une macro - Instant Culture!

Bonsoir.

Sélectionnez les cellules concernées, et donnez un nom à cette sélection (Zonea par ex).
Application.Goto Reference:="Zonea"
Selection.ClearContents
Range("A1").Select
effacera les données de Zonea, et placera le curseur en A1
 

ROGER2327

XLDnaute Barbatruc
Re : Simplification d'une macro - Instant Culture!

Bonsoir à tous



VB:
Sub raz()
'
' faxd_remiseazero Macro
'

'
    Range("F5,F7,F9:F10,G13,H26,T14:T22").ClearContents
    Range("A1").Select
End Sub
devrait faire l'affaire.



ROGER2327
#5915


Jeudi 12 Merdre 139 (Saintes Miches, catéchumènes - fête Suprême Quarte)
10 Prairial An CCXX, 9,1803h - faux
2012-W22-2T22:01:58Z
 

sp3ktroom

XLDnaute Nouveau
Re : Simplification d'une macro - Instant Culture!

Bonjour ROGER2327 et VICTOR 21, et le Forum ,

Merci de vos réponses, j'ai été un peu long mais je vais creuser un peu ca avec vous si vous le voulez bien.

Tout d'abord, ROGER2327, j'ai essayer d'appliquer le code ci dessus mais j'obtiens une erreur de compil 1004 et se surligne en JAUNE la ligne suivante , je précise que ma macro initiale fonctionne, pourtant c'est bien dommage car ce code me semblais simple a assimiler et a comprendre. J'ai essayer denlever les ":" en les remplacants par une virgule mais cela ne fonctionne pas , et la ont peu malheureusement constater mon faible niveau en VBA , c'est pour cela que j'y travail d'ailleurs.

VICTOR21, je suis interesser de connaitre le développement de ton explication , MAIS et oui il y en a toujours un , tout d'abord comment fait on pour selectionner plusieures céllules différentes et qui ne se suivent pas ? et je pense que cela va avec mais comment nomme t on une zone également. Je cherche tout de même , une première pist me dirais dans l'onglet formule et gestion des noms , je crois pour m'en etre servi une fois (encore grace a ce forum :) ) mais je ne suis pas sur et ne maitrise pas vraiment , surtout comment selectionner plusieures cellules etc ...... .

Merci d'avance de vos réponses.
 

Victor21

XLDnaute Barbatruc
Re : Simplification d'une macro - Instant Culture!

Bonjour.

...comment fait on pour selectionner plusieures céllules différentes et qui ne se suivent pas ?
Maintenez la touche Ctrl enfoncée, et cliquez sur les cellules ou les groupes de cellules concernées.

... comment nomme t on une zone également.
Après avoir sélectionné les cellules concernées (voir ci-dessus) insertion, nom, définir, ou saisie du nom choisi dans la zone nom au-dessus de la colonne A.
 

ROGER2327

XLDnaute Barbatruc
Re : Simplification d'une macro - Instant Culture!

Bonsoir à tous


(...)
Tout d'abord, ROGER2327, j'ai essayer d'appliquer le code ci dessus mais j'obtiens une erreur de compil 1004 et se surligne en JAUNE la ligne suivante , je précise que ma macro initiale fonctionne, pourtant c'est bien dommage car ce code me semblais simple a assimiler et a comprendre. J'ai essayer denlever les ":" en les remplacants par une virgule mais cela ne fonctionne pas , et la ont peu malheureusement constater mon faible niveau en VBA , c'est pour cela que j'y travail d'ailleurs.
(...)
J'ai, comme toujours, testé la solution que je propose. Elle donne le même résultat que votre procédure. Je n'obtiens pas l'erreur que vous signalez. Bien entendu, si vous modifiez le code proposé comme vous le faites dans le message #5 , une erreur peut apparaître.
Code:
Range("F5,F7,F9:F10,G13,H26,T14:T22").ClearContent s
n'est pas
Code:
Range("F5,F7,F9:F10,G13,H26,T14:T22").ClearContents

Peut-être y verrons-nous plus clair si vous déposez votre classeur avec le code et les données réels qui provoquent l'erreur.


ROGER2327
#5927


Dimanche 22 Merdre 139 (Ontogénie pataphysique - fête Suprême Première première)
20 Prairial An CCXX, 9,9249h - fourche
2012-W23-5T23:49:11Z
 

Statistiques des forums

Discussions
312 371
Messages
2 087 701
Membres
103 646
dernier inscrit
ouattara dad