Cette page aborde le formatage d'un tableau (sélection rapide de tableaux, formatage automatique, formatage conditionnel), le formatage de cellules, la taille des cellules, etc. Les commandes du menu Format sont expliquées là : Format.html.

FORMATER UN TABLEAU

Méthodes de sélection de tableaux

Sélectionner tout un tableau en un éclair, deux méthodes

Positionnez-vous sur une cellule du tableau, et faites l'action suivante : ctrl *
Dans le menu Edition, choisissez la commande Atteindre, cliquez sur le bouton Cellules, puis sur l'option Zone en cours. (office 97)

Une fois le tableau sélectionné, vous pouvez procéder à l'encadrement et au formatage du texte. En VBA, après avoir sélectionné la cellule, faites :

activecell.currentregion.select
'celluleactive.zoneencours.selectionner 'XL5/95

Mise en forme automatique, pour encadrer et colorer tout un tableau en un éclair

Aller dans le menu format, choississez l'option, vous trouverez différents styles d'encrage et d'encadrement.

Par VBA, en appliquant la méthode Autoformat à la cellule active (activecell) ou à la selection (selection)

activecell.Autoformat format:=xlrangeAutoformatClassic3, Number:=true, Font _
:=true, Alignment:=true, Border:=true, Pattern:=true, width:=true

Attention à l'emploi de cette dernière instruction, elle formate la zone en cours automatiquement même si vous ne l'avez pas sélectionnée vous même.

Si vous avez une ligne vierge avant la dernière ligne de votre tableau, mieux vaut sélectionner la zone à formater et ne pas laisser Excel la déterminer. Pour faire cette detérmination, regarder la page xl_cellule.htm

Exemple pour sélectionner la zone adjacente à A1 sans la ligne de titre

Set Tableau = Range("A1").CurrentRegion
Tableau(2, 1).Resize(Tableau.Rows.Count - 1, Tableau.Columns.Count).Select

'ou Range("A2", Range("A2").End(xlDown).End(xlToRight)).Select
'ou Intersect(Range("A1").CurrentRegion, Range("A1").CurrentRegion.Offset(1)).Select


Généralités sur le formatage

Afficher dans la barre d'outils standard le bouton "Répéter le Format de Cellule"
p
ar Frédéric S., le 18/06/2001

Sub RepeterFormatCellule()
Dim cBar As CommandBar, Ctrl As CommandBarButton
  Set cBar = Application.CommandBars("Standard")
  Set Ctrl = cBar.Controls.Add(msoControlButton, ID:=37, before:=1)
End Sub

!!! Message d'erreur "Nombre de formats différents trop élevés"

Essayez la macro Xsclean téléchargeable sur le site de MS : http://support.microsoft.com/support/downloads/LNP129.asp (deuxième lien de la liste)
Voir aussi là pour l'explication : http://support.microsoft.com/support/kb/articles/Q163/6/78.asp


Valeurs anormalement précédées par un apostrophe, un guillemet ou un accent cireconflexe
' Astuce proposée dans microsoft.public.fr.excel par M. R. le jeudi 14 octobre 1999 23:08

Si après un formatage au format texte, vous avez des cellules qui font précéder leur valeur de ' ou ^ ou ", vous avez découvert que les cellules ont été formatées en "Texte", ce qui donne pour le nombre 100 :
'100 si le format est aligné à gauche,
^100 si le format est centré, et
"100 si le format est aligné à droite
Pour supprimer ces caractères, il faut formater les cellules en "Standard", et éventuellement après, ressaisir les cellules récalcitrantes.

Soit une cellule formatée en %, si on y tape 1 et obtient 1%, comment y pallier .

Aller dans le menu Outils---> options----> décocher décimale fixe.


 

FORMAT/MISE EN FORME CONDITIONNELLE

MISE EN FORME CONDITIONNELLE CLASSIQUE


Procédé général :

Sélectionnez la zone qui sera formatée conditionnellement
Aller dans le menu format/mise en forme conditionnelle, vous avez plusieurs choix pour le formatage.
Choisir l'option "La formule est" et la couleur de votre choix qui coloriera les cellules répondant à votre critère.

Par exemple:
     Sélectionnez la zone qui sera formatée conditionnellement
     Inscrire cette formule coloriera toutes les cellules doublons =si(nb.si(Plage; A1)>1;vrai;faux)
     La plage peut être nommée ou écrite sous la forme A1:A10.

Exemples de formules à utiliser dans des mises en forme conditionnelle :

formater les lignes qui n'ont pas de valeur dans les colonnes A à J: =SOMME(SI(ESTVIDE($A1:$J1);0;1))=0
formater B5 si B1 >0 et A5 >=3 : =ET(B1>0;A5>=3)
Le mois d'une date correspond-t-il à celui d'une autre date : =mois($C2)=mois($J$2)
Le mois d'une date est-il antérieur au mois d'une autre mais supérieure au premier de ce mois : =et($C2<$j$2;$c2>DATE(mois($J$2);1;annee($J$2)))
Dix jours ce sont-ils écoulés entre aujourd'hui et la date d'une cellule : =(aujourdhui()-A1)>10
Formater A1 si A1 est inférieur de x% à B1 : =A1<x%*B1
Repérer les trois plus grandes valeurs d'une plage en utilisant une formule du type suivant :

=A1=GRANDE.VALEUR($A$1:$A$10;1)
=A1=GRANDE.VALEUR($A$1:$A$10;2)
=A1=GRANDE.VALEUR($A$1:$A$10;3)

Si la valeur dans la cellule B1 est inférieure au n° de la semaine en cours : =B1<NSEM(AUJOURDHUI())-1 où NSEM est une fonction personnalisée :

function NSEM(D As Date) As Integer
NSEM = run([NO.SEMAINE], D, 2)
end function

A la question "Est-ce qu'il est possible, sans vba, de changer la couleur d'une cellule dépendemment de la valeur entrée", exemple : si valeur > 40 , couleur = rouge. Sinon couleur = vert, il y a deux réponses :

soit par le format numérique personnalisé : [Rouge][>40]Standard;[Vert]Standard
soit par la mise en forme conditionnelle (menu format) si tu as Excel 97 ou 2000

Tester la présence d'une lettre ou d'un mot : news, news
Colorier la cellule sélectionnée : news

MISE EN FORME CONDITIONNELLE PAR VBA

Créer un format conditionnel : news
Ajouter un format conditionnel à une plage

[A1:M1].FormatConditions.Add(xlCellValue, xlLess, "=A10").Interior.ColorIndex = 3

Supprimer le format conditionnel d'une plage

[A1:M1].FormatConditions.delete

Afficher les formats conditionnels d'une cellule : news (infos sur "le format a-t-il été appliqué ?")
Compter les formats conditionnels : news
Afficher les formules des formats conditionnels d'une cellule

With ActiveCell
For i = 1 To .FormatConditions.Count
Debug.Print .FormatConditions(i).Formula1 's'affiche dans la fenêtre d'exécution
Next i
End With

Couleur de fonds d'une cellule dépendant d'une MEFC : site de Frédéric S., fichier ColorIndexSiFormatConditionnel

Nombre de conditions définies dans une cellule : ActiveCell.FormatConditions.Count
Nombre de conditions répondues

Function CountCondMet(b As Range)
    Dim NumVal As Variant
    Dim StrVal As Variant
    res = 0
    For Each c In b
        If c.FormatConditions.Count > 0 Then
            If c.Value = Val(c.FormatConditions(1).Formula1) Then  'améliorer puisque là seul la comparaison avec la première condition est effectuée
                res = res + 1
            End If
        End If
    Next c
    CountCondMet = res
End Function

Boucler sur les cellules de même conditions (par Denis M.)

Sub Couleur()
Dim C as Range
Dim Total as Double
With Range("A1")
    For Each C In Selection.SpecialCells(xlCellTypeSameFormatConditions)
        total = total + C.Value
    Next
End With
End Sub

Somme des cellules de même Format, autres moyens

Sub Couleur()
    Dim Total As Double
    Total = Application.WorksheetFunction.Sum( _
        Selection.SpecialCells(xlCellTypeSameFormatConditions))
End Sub

Mais vous pouvez aussi "formater conditionnellement" vos cellules grâce à une gestion des évènements et des conditions. Voici quelques exemples :

Colorier les cellules conditionnellement : news
Colorier la ou les cellules sélectionnées : news (par T. O.)
Clignotement de cellules : news1, news2
Créer un style "Flash" : une fois appliqué aux cellules, celles-ci clignotent : news1, news2 (ça marche)
Sélectionner/Highlight le texte d'une textbox : news
Formatage divers par macro : news



LA COULEUR DANS EXCEL

Connaître les codes des couleurs : http://members.aol.com/rexx03/excel/colors.htm
Afficher les palettes de couleurs
: news

Application.CommandBars("Font Color").Visible = True,
Application.CommandBars("Fill Color").Visible = True
Application.Dialogs(xlDialogColorPalette).Show pour copier les couleurs définies d'un classeur vers un autre

Syntaxes diverses de coloration

'Couleurs de bordures
ActiveCell.Borders.Color = RGB(255, 0, 0)
ActiveCell.Borders(xlTop).Color = RGB(0, 0, 255)
ActiveCell.Borders(xlBottom).ColorIndex = 18

'Couleurs de police
ActiveCell.Font.ColorIndex = 17
ActiveCell.Font.Color = RGB(255, 0, 0)
ActiveCell.Font.Background = xlAutomatic | xlOpaque | x1Transparent

'Couleur de fonds de cellule
Selection.Interior.ColorIndex = 5
Selection.Interior.Color = RGB(200, 250, 200)
Selection.Interior.Color = &Hc8efac8 'h=Hex, o=Octal anyone still use octal

'Couleur de la grille
Workbooks("BOOK1.XLS").Worksheets("Sheet1").Activate
ActiveWindow.GridlineColor = RGB(255,0,0)

Fonctions pour connaître la couleur d'une cellule : news, ou encore :

Function CouleurFond(wcell As Range) As Long
Application.Volatile True
CouleurFond = wcell.Interior.ColorIndex
If CouleurFond = -4142 Then CouleurFond = 0
End Function
'comme exemple, donner une couleur à A1, puis taper la formule suivante en A2 : =CouleurFond(A1) et ensuite sur F9 pour recalculer

Index RGB du fonds d'une cellule

Function showRGB(rcell)
'Show RGB hex color value of another cell
showRGB = Right("000000" & Hex(rcell.Interior.Color), 6)
End Function

Compter les cellules de telle couleur : Dénombrer/ Cellules de telle couleur

Additionner les cellules de telle couleur

Function SommeSiCouleur(Plage As Range, NumeroDeCouleur%) As Long
Application.Volatile True
Dim wCell As Range
For Each wCell In Plage
If wCell.Interior.ColorIndex = NumeroDeCouleur Then
SommeSiCouleur = SommeSiCouleur + wCell.Value
End If
Next
End Function

Tu insères la fonction dans une cellule avec 2 paramètres : =SommeSiCouleur(A1:D100;3) où le premier paramètre est la plage et le second est le numéro de couleur (pour récupérer un numéro de couleur, utilise la seconde fonction)
Attention : ne mets pas des colonnes entières ou une plage trop grande, car sinon tu risques de voir le sablier un bon bout de temps !

La fonction ci-dessous permet de colorier d'attribuer à des portions de texte d'une cellule des couleurs différentes
Le mercredi 16 mai 2001 13:03 sur microsoft.public.fr.excel par P. E., sujet "Re: Toujours pour ma cellule............."

Sub appel()
Dim cell As Range
Set cell = Range("A1")
colorie cell, 3, 2, 3
End Sub
Sub colorie(cell As Range, debut As Integer, longueur As Integer, couleur As Integer)
cell.Characters(Start:=debut, Length:=longueur).Font.ColorIndex = couleur
End Sub

Colorier les lignes paires/impaires d'une couleur différente. Une solution sans VBA

-sélectionne la cellule A1
-clique sur le carré gris en haut à gauche (pour sélectionner toute la feuille)
-sélectionne Format/Mise en forme conditionnelle
-crée la condition "la formule est:" et entre la formule suivante:
=MOD(LIGNE(A1);2)=1
-clique ensuite sur le bouton "Format" et choisis une couleur (ex: vert pâle)

De cette façon toute les lignes impaires seront vert pâle. Les autres lignes demeurent de la couleur qu'elles étaient (blanches sans doute). Si tu veux, tu peux ajouter une seconde condition pour les lignes paires (=MOD(LIGNE(A1);2)=0) ou plus simplement sélectionner toute la feuille et choisir leur couleur de défaut.

Deux fonds de couleur dans une seule cellule

Impossible avec Excel mais il existe une astuce : How Can I Put Multiple Color Shades in One Cell.htm

Articles relatifs aux couleurs dans Microsoft Excel

XL97: Color Palette Looks Different in MS Excel 97 : http://support.microsoft.com/support/kb/articles/Q157/2/02.asp

Sample Visual Basic Code to Create Color Index Table : http://support.microsoft.com/support/kb/articles/Q149/1/70.asp

Printed Colors Different than on Screen
: Blue is Purple, etc. This is not a problem with your printer driver, with Microsoft Windows, or with your printer. RGB colors (light) are additive. CMYK colors (pigments) are subtractive. Color-Matching Blues [PC Magazine Apr 9, 1996].


BORDURES

A travers l'onglet "Bordures" de la boîte "format de Cellules", vous pouvez donner une ou des bordures à votre plage de cellules, de sorte à encadrer la plage (avec les bordures verticales et horizontales) ou de sorte à faire une croix ;-). Vous pouvez choisir leur style (pointillé par exemple), épaisseur et couleur.

Des astuces pour remplacer les lignes de code générées par vba lors de l'encadrement de cellules :

1ière méthode : worksheets("Feuil1").range("A1:D4").BorderAround ColorIndex:=3, Weight:=xlThick
2ième méthode : for i = 1 to 4: selection.Borders(i).LineStyle = xlContinuous: next i

3ième méthode : vous voulez juste un trait à gauche et en bas, spécifier le dans la variable tableau arBorder => arBorder = Array(xlRight, xlbotttom)

Sub ChangeBorders()
dim arBorder As Variant
dim x As Integer

arBorder = Array(xlRight, xlbotttom)
For x = LBound(arBorder) To ubound(arBorder)
with Application.Selection.Borders(arBorder(x))
.Weight = xlThin
.ColorIndex = xlAutomatic
end with
Next x
end Sub

Bordures arrondies (par S. G. le mercredi 06 juin 2001 sur microsoft.public.fr.excel)

Sub CelluleArrondie()
Set depart = Selection
r1 = depart.Height
r2 = depart.Width
r3 = depart.Top
r4 = depart.Left
ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, _
r4, r3, r2, r1).Select
Selection.ShapeRange.Fill.Visible = msoFalse
depart.Select
End Sub

Partager une cellule, de B. M. dans microsoft.public.fr.excel, sujet : "Re: Partager une cellule", le lundi 14 mai 2001 10:52

1) tu vas chercher dans Affichage -> Barres d'outils -> Personnalisé...
onglet Commandes Catégorie Format, un bouton *Bordure Diagonale Bas* vers la fin de la liste, tu places ce bouton dans une barre d'outils, tu fermes la boîte de dialogue.
2) Tu appliques ce format à la cellule souhaitée.
3) Pour faire apparaître DATE et NOM (j'imagine de part et d'autre du trait
oblique, il faut ruser un peu avec :
* d'une part des espaces avant DATE
* d'autre part le séparateur ALT ENTREE entre tes deux mots.
En ajustant tout ça avec les autres réglages de l'aligement, tu dois obtenir ce que tu souhaites

Cellule partagée par deux fonds de couleur dans une seule cellule
Impossible avec Excel mais il existe une astuce : How Can I Put Multiple Color Shades in One Cell.htm


 

TAILLE DES CELLULES

Les colonnes

Fixer leur largeur

range("a1").columnwidth = 25
selection.columnwidth = 25

Ajuster automatiquement leur largeur

selection.columns.autofit
range("a1").entirecolumn.autofit

Masquer/ Afficher une colonne

range("c1").entirecolumn.hidden = false 'masquer
range("c1").entirecolumn.hidden = true 'afficher

Définir la largeur standard de toutes les colonnes
activesheet.standardwidth = 25

Les lignes

Fixer leur hauteur

range("a1").rowheight = 18
selection.rowheight = 18

Ajuster automatiquement leur hauteur

selection.rows.autofit
range("a1").entirerow.autofit

Masquer/ Afficher une ligne

selection.entirerow.hidden = true
selection.entirerow.hidden = false

Définir la hauteur standard de toutes les liges

activesheet.standardheight = 25

Augmenter de 5 la hauteur des lignes de la sélection

Sub IncreaseRow()
dim rng As range
for each rng In selection
rng.RowHeight = rng.RowHeight + 5
next rng
end Sub
'une macro pour augmenter la largeur des colonnes peut être écrite sur le même principe.


Autres manipulations de dimensions

Cellules A1:K10 carrées

Sub test
with range("A1:K10")
.Columnwidth = .Height * .Columnwidth / .width
end with
end Sub

voir aussi : news

Cellules en centimètres

news
Voir aussi l'article de Microsoft "XL: Macros to Set Row Height and Column width"

Longueur d'une chaine en points

nwidth = ScaleX(Textwidth(somestring),form1.scalemode,vbPixels)

En fait, la propriété permettant de modifier la largeur d'une cellule (range.ColumnWidth) ne repose pas sur une mesure en points, mais en "nombre moyen de chiffres compris entre 0 et 9 de la police standard pouvant être contenus dans une cellule", dixit l'aide d'Excel. Cette mesure dépendant de la police par défaut utilisée et de sa taille, est donc variable et on ne peut pas la dériver d'une largeur en centimètres ou en points par un simple coefficient.

Pour donner une largeur déterminée à une cellule, on est donc obligé de procéder par approximations successives en modifiant la largeur de la colonne (propriété range.ColumnWidth) jusqu'à ce que la propriété range.Width (largeur en points, propriété en lecture seule) soit le plus proche possible de la largeur escomptée en points ou centimètres.

Copie de cellules avec conservation des tailles : voir actionacellule.htm


 

FORMAT DE CELLULE

Format d'Alignement, etc

Connaître les cellules fusionnées & leurs valeurs : news Sélection & Adresse de zones fusionnées : news Ajuster la hauteur de lignes & cellules fusionnées : news Défusionner les cellules

il existe un bouton "Désactiver la fusion" que vous trouverez dans la boîte de personnalisation de barres d'outils (un bouton bleu et blanc).

Centrer sans fusion

sub centrer_texte()
With Selection
.HorizontalAlignment = xlCenterAcrossSelection
End With
end sub
'ou menu format/cellules/alignement/horizontal/centré sur plusieurs colonnes

 


 

Format de Police

Indices & Exposants :

copie d'une cellule avec exposant, etc. en tan qu'image pour collage dans un formulaire : news
saisie de surface (m2) : news
 

Liste des polices installées : news Ecrire une checkmark :

mettre la cellule au format Wingdings et taper Alt+0252 utiliser le format "Monotype Sorts", en écrivant un 4, vous obtiendrez une checkmark ; vous pouvez utiliser données/Validatino pour empêcher une saisie autre que 4.

Ecrire une puce

utiliser le caractère "-" ou tout autre : employer un format personnalisé sur le modèle suivant : " - "@ se servir d'une main comme puce : inscrivez un "f" en premier caractère que vous mettez au format Windgings
Sub Puce()
With Selection.Characters(Start:=1, Length:=1).Font
.Name = "Wingdings"
End With
With Selection.Characters(Start:=2, Length:=250).Font
.Name = "Comic Sans MS"
End With
End Sub

Ecrire en chiffres romains

Excel vient à votre secours avec la fonction Romain(). Dans une cellule d'une feuille de calcul, saisissez =Romain(l998;0). Le résultat est MCMXCVIII. Mais il existe également des formes simplifiées. Il suffit de remplacer le paramètre 0 par un chiffre compris entre 1 et 4. Saisissez =Romain(1998;2) et MXMVIII s'affiche. Le tableau ci-dessous indique, avec un exemple, les différents types de simplifications disponibles dans Excel. (Astuce du Lycée Pierre Gilles De Gennes)

TYPE

PARAMèTRES

EXEMPLES 1998

Classique

0

MCMXCVIII

Concis

1

MLMVLIII

Plus concis

2

MXMVIII

Encore plus concis

3

MVMIII

Simplifié

4

MVMIII

Passer de l'écriture romaine à une écriture normale : news

Ecrire ne morse et versa : news
Majuscules, Dénombrement de caractères=> voir actionchaine.htm
Tester si un caractère existe : existence.htm#exis_caractere

format d'écritures

format téléphonique

format canadien : [>=10000000000]#-###-###-####;[>=10000000](###)" "###-####;000-0000
proposé dans microsoft.public.fr.excel, discussion "Problème avec format téléphone (Canada)",
le mardi 18 Janvier 2000

pour que le format apparaisse comme 01.80.45.74.14, utiliser le format suivant : 00"."00"."00"."00"."00
pour le passer en texte à partir d'une autre cellule =TEXTE(D11;"00"".""00"".""00"".""00"".""00")
ou encore =TEXTE(B2;"0#"" ""##"" ""##"" ""##"" ""##")

Attention, l'instruction ci-dessous transforme votre numéro de téléphone en texte comprenant des "."
Selection.Value = Format$(Selection.Value, "0#"".""##"".""##"".""##"".""##")

format monétaire

# ##0,00\ FB;[Rouge]-# ##0,00\FB
###0" FB "
$* #,##0.00_-;[Red]$* (#,##0.00) 'version anglaise

longitudes, latitudes

Utiliser le format [h]"° "mm"' "ss"''" qui te donnera h° mm' ss''
=> entrer les lat. et long. sour la forme 45:20:33 et obtenir 45° 20' 33" .

format mathématique

On peut avec Excel mettre un format de cellule en fraction, mais ce sont des fractions anglaises, c'est-à-dire avec un numérateur < dénominateur (format #" "?/?). Pour écrire 2,5 sous la forme 5/2 et non 2 1/2, essayer les formats ci-contre : ?/? ou bien ?/2

Exemples pour les nombres négatifs :

###0;[Rouge]-###0
# ##0;"délai" ou encore ,
# ##0;"délai "-# ##0 (en agrandissant la colonne si nécessaire).

Le format "fraction" est prédéfini dans Excel : regarder dans les formats nombres.

On peut bien sûr se créer ses formats personnalisés en fonction du dénominateur souhaité (?/?, ??/??, #" "??/??). Selon le format retenu, 3/12 s'affichera en 3/12 ou en 1/4, et 30/15 en 2 (#" "??/15) ou en 30/15 (??/15).

# ?/?
# ?/??
# ?/???
# ?/????
# #/4
# #/16
# #/100

Format 1er, 2ième, 3ième : [=1]"1 er";[=2]"2 ième";0

format "conditionnel"

[Color 22][=2]General;[Green][=3]General;[red] General;@
[Rouge] [>=16]"salut";[Bleu] [>=12]"zaza";"couché"

Autres couleurs
black, blue, red, magenta, cyan, grey, pink, brown, purple
http://members.aol.com/rexx03/excel/colors.htm (MC RITCHIE)

Emploi du formatage de texte dans des formules

="Mise à jour le : "&TEXTE(AUJOURDHUI();"jjjj jj mmmm aaaa")

Déterminer le format d'une cellule à partir d'une autre : Where B2 currently has the value 10, move that elsewhere, like P2 for example, out of view. then, in B2: =TEXT(P2,if(A1="USA","$#,##0",if(A1="Holland","General ""fl""",if(A1="Germany","General ""DM"""))))

L'euro : =car(128), Alt+0128
Conversion des chiffres en euro : news, news, news

Les symboles sous Excel (dont l'euro) : http://members.aol.com/dmcritchie/htm/symbols.htm
L'euro chez Microsoft
http://www.microsoft.com/Opentype/faq/faq12.htm
http://www.microsoft.com/typography/fontpack/default.htm
http://www.microsoft.com/windows/euro.asp
http://www.microsoft.com/typography/news/whatsnew.htm

d'autres macros ici : http://disciplus.simplex.free.fr

vous ne trouvez pas ce que vous voulez, demandez-moi ou demander sur le forum excel qui est très réactif

Changer le format des cellules pour afficher un texte avant ou après une valeur

avec le format suivant : "0001"# , le texte 12800100 deviendra 000112800100
pour écrire la TVA comme suit : 693 F/HT, utiliser le format suivant ### ##0" F/HT"

Format de dates

une astuce pour transformer les valeurs d'une plage A1:A2000 en date

With [A1:A2000]
.TextToColumns destination:=.Cells(1), DataType:=xlDelimited, FieldInfo:=Array(1, xlYMDFormat)
End With

Date selon le calendrier républicain : news

Saisir la date comme suit 01012000 (avec 4 chiffres pour l'année), puis la retranscrire en format date

de Ritchi 92, sujet "Re: entrer une date en évitant le /", le jeudi 28 septembre 2000 06:18
=DATE(DROITE(A1;4);DROITE(GAUCHE(A1;4);2);GAUCHE(A1;2))

Tu peux entrer tes données au format mm:ss,00 et appliquer un format personnalisé comme celui-ci : mm"'"ss"''",00 =>5'32"45

Format numérique, des chiffres au texte

http://support.microsoft.com/support/kb/articles/q140/7/04.asp
XL: How to Convert a Numeric Value into English Words

http://support.microsoft.com/support/kb/articles/q95/6/40.asp
ACC: How to Convert Currency or Numbers into English Words

Convertir des chiffres formatés en texte vers un format numérique

Des cellules contiennent des nombres formatés en TEXTE, avec plein de chiffres après la virgule. Je souhaite les convertir en NUMERIQUE, puis les arrondir à 2 décimales. De: Laurent L., sujet: "Re: Conversion texte --> numérique : basique ?", le vendredi 11 août 2000 23:13

Dim Cell As Range
Application.ScreenUpdating = False
For Each Cell In Range("A1:A16")
Cell = Application.Round(Cell, 2)
Next Cell
Range("A1:A16").NumberFormat = "# ##0.00"

Ou alors, plus rapide (mais plus elliptique! ;-)

[A1:A16] = [TRANSPOSE(TRANSPOSE(ROUND(A1:A16,2)))]
Range("A1:A16").NumberFormat = "# ##0.00"

Compléter une cellule à l'affichage par un signe (par Geedee)
Deux exemples

Formatage "@*." ( arobase + étoile + point)
Formatage "@*_" (arobase + étoile + espace souligné/underscore (touche 8 du clavier français)

Des formats & formules : http://members.aol.com/dmcritchie/excel/formula.htm

 


 

LES STYLES

'Créer un nouveau style

activeworkbook.Styles.add name:="format Titre"

'Définir ce qu'inclut le style

with activeworkbook.Styles("format Titre")
.IncludeNumber = true
.IncludeFont = true
.IncludeAlignment = true
.IncludeBorder = true
.IncludePatterns = true
.IncludeProtection = true
end with

'Appliquer un style à une cellule/sélection

selection.Style = "format Titre"

 


 

FORMAT PERSONNALISE

Effacer les formats personnalisés

Sub delete_formats()
dim i as integer : sendkeys "%c{PgDn}%t{tab}{end}"
for i = 1 to 100 : sendkeys "%d{end}" : next
application.dialogs(xlDialogformatNumber).show
end Sub

Supprimer les styles de format inutilisés dans un classeur : news

Voir aussi page Format.html