| Accueil | Forums | Bureautique | Développement | SGBD |
  Leçons Niveau 3
 
  Autres Niveau Excel
 
 
  La macro "Mise en forme" - Le code
 

Le code généré


Sub MiseEnForme()

' MiseEnForme Macro
' Macro enregistrée le 06/09/2005 par Delenne Xavier
'
Range("A1").Select
Selection.CurrentRegion.Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=R[-1]C"
Selection.CurrentRegion.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False Application.CutCopyMode = False
Range("A1").Select

End Sub


Explications :

  • Range("A1").Select : Selection de la cellule A1

  • Selection.CurrentRegion.Select : en lisant en arriere: Selectionner la region courante (le tableau complet) de la selction en cours (A1)

  • Selection.SpecialCells(xlCellTypeBlanks).Select : selectionner les cellules de types blanc (cellules vides) à l'interieur de la selection (le tableau complet)

  • Selection.FormulaR1C1 = "=R[-1]C" : Mettre la formule : "=R[-1]C" (ligne - 1(R=Row), C pour column donc même colonne, en dautre terme, donner à la selection en cours (toutes les cellules vides) la valeur de la cellule au dessus

  • reselectionner le tableau complet ctrl * (cf ci dessus)

  • Copier la selection

  • Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    ->Coller spécial en valeurs pour éviter lors d'un nouveau tri du tableau d'avoir les formules et donc un changement de contenu des cellules (copie de la valeur du dessus)

  • Application.CutCopyMode = False : sortie du mode copier (contour clignotant) par la touche echap.

  • Range("A1").Select : Selection de la cellule A1

Il n'y a rien à modifier dans cette macro puisque pas de référence au nom de feuille ou fichier

 

 
2005 Copyright Ephicom