Diverses petites astuces
Dans une
cellule , avoir un texte de différentes couleurs
Pour
la cellule elle même,dans la barre de menu, cliquez sur
la couleur de remplissage.
Pour la couleur des caractères, sélectionnez
les caractères concernés, puis dans la barre de menu, cliquez
sur couleur de caractère
Une
macro pour changer un caractère de couleur (*) .Dans
un ensemble de caractères la macro change * en
blanc. Cellule active sans référence, à modifier selon
ses besoins.
Sub test()
For i = 1 To Len(ActiveCell)
With ActiveCell.Characters(Start:=i, Length:=1)
If .Text = "*" Then .Font.ColorIndex = 2 Else .Font.ColorIndex = xlAutomatic
End With
Next i
End Sub![]()
Multiplication
des heures avec des Euros
si
le format des heures de travail est sous la forme hh:mm
soit : 04:30 il faut ramener ces heures en format standard et on peut le faire
par une formule.
Exemple en cellule A1 04:30
en cellule B1 50 F
en cellule C1 =(A1*24)*B1
résultat en C1 = 225.00F
si tu as mis C1 au format monétaire
![]()
Nombres d'années, mois, jours, de date à date
Dans la cellule
A5 et B5 la date, dans C5 le resultat avec la formule:
=DATEDIF(A2;B2;"y")&SI(DATEDIF(A2;B2;"y")>1;" ans, ";" an,
")&DATEDIF(A2;B2;"ym")&" mois, "&DATEDIF(A2;B2;"md")&SI(DATEDIF(A2;B2;"md")>1;"
jours";" jour")
Multipliez les commentaires de cellule
Multipliez
les commentaires d'une cellule, sélectionnez la cellule,
puis édition, copier.
sélectionnez les cellules à reproduire
le commentaire, puis édition, collage, commentaire,ok.
Fusionnez deux cellules sans perdre leurs contenus
Pour
fusionnez deux cellules sans perdre leurs contenus, prenons comme exemple:
A1 contient Durand
B1 contient Jean
dans C1 la cellule contient la formule =A1&B1
appuyez sur entrée.
Remplissage intelligent des cellules
Vous
souhaitez, par exemple, remplir les cellules A1 à A5
avec des valeurs croissantes 100, 200, 300, 400 et 500.
Vous pouvez procédez de la même manière pour inscrire des
jours, des mois,des années consécutifs.
La plupart de ces procédures automatiques peuvent être accompliesd'un
simple glissé de souris.
Ces remplissages sont controlés par le biais de la commande:
Barre de menu/Edition/Recopier/Série de données.
Elles vous offre le choix:
Linéaire pour augmenter ou diminuer d'une certaine
valeur le contenu des cellules
Géométrique pour augmenter de manière
exponentielle (par exemple 1,2,4,8,16,etc...)
Chronologique pour augmenter de façon chronologique
Recopie incrémentée remplit les cellules
d'une sélection en se basant sur les premières cellules de cette
sélection.
Excel autorise également à ajouter vos propres types de remplissage,
par exemple, vous pouvez définir des séries d'éléments
automatiques dans un tableau de périodicité. Pour cela, choisissez
Options dans le menus Outils et sélectionnez l'onglet Listes
pers. Saisissez alors votre liste d'éléments et cliquez
sur le bouton Ajouter.
Une autre technique à partir de la souris qui permet de procéder
à un remplissage intelligent encore plus simple.
Commencez par deux cellules adjacentes , par exemple dans A1
écrivez Janvier et A2 Février. Sélectionez ces deux
cellules et glissez le petit carré noir vers le bas.
Excel considère alors que vous souhaitez inscrire dans les autres cellules
les mois suivants celui de Février. Glissez ainsi le carré suivant
vos besoins.Idem pour des chiffres.
Afficher date, heure, minutes et nombre de jours dans un mois donné.
Dans
Excel pour afficher la date il suffit de la combinaison de touche CTRL+;
et pour l'heure CTRL+:
Pour avoir la date et l'heure il suffit de faire les deux combinaisons à
la suite.
Il y a une autre façon d'opérer:
Dans A1 =maintenant() et vous avez la date et l'heure
Si vous voulez récupérer l'heure dans C1 écrire =heure(A1)
Et les minutes dans C1 écrire =minute(A1)
Si vous récupérez l'heure et les minutes dans D1 écrire
=concatener(B1;":";C1) . L'affichage est dans
l'exemple 9 .
Si vous préférez un affichage 09 dans la cellule
D2 de l'exemple écrire :
=texte(B2;"00")&":"&texte(CE;"00")
Avec une macro c'est possible :
Sub test()
Range("A8").Value = Format(ActiveWorkbook.BuiltinDocumentProperties("Creation
Date"), "MM/DD/YY hh:mm")
End Sub
Ou une mise à jour du fichier avec cette macro automatique à installer
dans le module ThisWorkbook du classeur :
Private Sub Workbook_Open() Sheets(1).Range("A1") = FileDateTime(Me.FullName)
End Sub
Pour définir le nombre de jours dans un mois donné :
Il y a la formule: =JOUR(FIN.MOIS(A1;-1))
En VBA cela donne une fonction:
Function DernierJour(D As Date) DernierJour = Day(DateSerial(Year(D), Month(D)
+ 1, 1) - 1)
End Function
Ou une autre fonction:
Function joursMois(mois, annee As Integer)
Dim iMois As Integer, nbJ As Integer
Dim tMois
Dim dt1 As Date
Dim j As Integer
Application.Volatile
tMois = Array("", "janvier", "février", "mars", "mai", "avril", "juin", "juillet",
"août", "septembre", "novembre", "décembre") If IsNumeric(mois) Then iMois =
mois
Else
For j = 1 To 12 If LCase(mois) = tMois(j) Then iMois = j j = 13
End If
Next j
End If
If iMois > 0 And iMois < 13 Then If annee < 2000 Then annee = 2000 + annee nbJ
= 31 On Error GoTo erreur dt1 = CDate(CStr(nbJ) & "/" & CStr(iMois) & "/" &
CStr(annee)) On Error GoTo 0
End If joursMois = nbJ Exit Function erreur: nbJ = nbJ - 1 Resume
End Function
Copier une couleur personnalisée dans un autre classeur
J'ai mis le fond de ma cellule dans une couleur personnalisée
mais quand je copie la feuille dans un autre classeur, la couleur personnalisée
ne suit pas.
Effectivement, les couleurs personnalisées ne sont pas copiées automatiquement.
Mais il y a un truc: une fois ta copie effectuée, tu te places dans le classeur
de destination, et tu effectues Outils/Options/onglet couleurs,
et tu sélectionnes le nom du classeur d'origine dans la liste déroulante copier
les couleurs de ....