Diverses petites astuces
Macro pour mettre au format horaire
Exemple: dans la colonne A, j'écrie 815, la macro me traduit en 08:15
, mettre la cellule au format souhaiter
Sub calendrier()
varAn = Val(InputBox("Année ?", "CALENDRIER"))
If varAn = 0 Then GoTo fin 'clic sur touche Annuler ou la croix
X = DateSerial(varAn, 1, 1)
Y = DateValue("31 décembre " & varAn)
For i = 0 To Y - X
Range("A" & i + 1) = X + i
Next
fin:
End Sub
Formules pour trouver la date du premier jour, en donnant ,
l'année et le numéro de la semaine.
Attention bien formater les cellules en date.
Dans l'exemple : Année en A1 et Numéro
de semaine en A2.
Formule 1 : "=SOMME(MOD(("1/"&A1)-{0;6};{1E+99;7})*{1;-1})+A2*7-4 "
formule 2 : "=SOMME(MOD(("1/"&A1)-{0;6};{1E+99;7})*{1;-1})+A2*7-4 "
Formule pour trouver la date du lundi a partir du numéro de semaine.
Formule 1: =D5*7+DATE(ANNEE(AUJOURDHUI());1;1)-7 "D5 est
la cellule du numéro de semaine.
Formule 2: =DATE(ANNEE(AUJOURDHUI());1;-6)+D6*7 "D6 est la cellule du numéro
de semaine.
je voudrai calculer la somme des valeurs par rapport
a deux critères.
Situation nom prix
NORD TITI 10
SUD TUTU 20
EST TOOT 30
NORD TATA 40
NORD TITI 50
Ex : PRIX = 60 avec comme critères (NORD et TITI)
En supposant que tu utilise les colonnes A,B et C voici
la formule n'oublie pas de faire Majuscule, CTRL en même temps et Entrée,
plutôt que tout simplement entrée.
=SOMME((A1:A5="nord")*(B1:B5="titi")*(C1:C5))
Calculer le nombre de semaine entre deux dates
Exemple en A1 et A2 (cellules au format
date) semaine entamer
=PLANCHER(PLANCHER(A2-A1;1)/7;1) ou des semaines entières
=TRONQUE((A2-A1)/7)&" semaine(s)" ou des semaines entières
=ENT((B1-A1)/7) (cellules au format standart)
Trouver les années,mois, jours entre deux dates, positives ou négative.
Formule exemple
en A4 et B4 (cellule au format date) et la formule dans
une cellule au format standard.
=DATEDIF(A4;B4;"y")&SI(DATEDIF(A4;B4;"y")>1;"
ans, ";" ans, ")&DATEDIF(A4;B4;"ym")&"
mois, "&DATEDIF(A4;B4;"md")&SI(DATEDIF(A4;B4;"md")>1;"
jours";" jour")
Trouver le nombre de mois même entamés entre deux dates, positives ou négatives.
Formule exemple en E12 et D12 (cellule
au format date) et la formule au format standard.
=ANNEE(E12)*12+MOIS(E12)-ANNEE(D12)*12-MOIS(D12)
Trouver le nombre de mois même entamés d'une date à aujourdhui.
Formule exemple en D16 (cellule au format
date) et la formule au format standard.
=ANNEE(D16)*12+MOIS(D16)-ANNEE(AUJOURDHUI())*12-MOIS(AUJOURDHUI())
Exemple de formule simple sur les dates.

Trouver la date du lundi avec le numéro de la semaine
Exemple par formule, En D8 le numéro
de la semaine, et E8 Lundi, mettre au format date
=(7*D8+DATE(ANNEE(AUJOURDHUI());1;3)-JOURSEM(DATE(ANNEE(AUJOURDHUI());1;3))-
5)+(EQUIV(E8;{"Lundi";"Mardi";"Mercredi";"Jeudi";"Vendredi";"Samedi";"Dimanc
he"};0)-1)
Autre solution en fonction.
Trouver le numéro de le semaine à partir d'une date
Exemple en D10 la date 17/7/01 , la formule:
=SI(NO.SEMAINE(D10)<53;NO.SEMAINE(D10);NO.SEMAINE(D10)-52)
Trouver le dernier jour du mois donné
Exemple: en A1 l'année, en B1
le mois, cellule au format standart
=JOUR(FIN.MOIS(DATE(A1;B1;1);0))
=JOUR(DATE(A1;B1+1;0))
=JOUR(DATE(A1;B1+1;0))
Ou une autre formule avec la date complète en A1
=DATE(2001;A1+1;0) te retourne le dernier jour du mois entré en A1
Fonction pour écrire dans une cellule donnée la formule contenue dans une autre cellule
Ecrire la fonction dans le module du classeur
ouvert.
Function Formul(cel As Range)
Formul = cel.FormulaLocal
End Function
Dans la cellule désirée, écrire
la formule suivante:
=Formul("la cellule ou est la formule à copier")
Macro pour calculer le poucentage sur un total d'une colonne.
Exemple: Dans une colonne les chiffres, 14 ,
10 , 23 , 25 ,
la macro calcul le total dans la cellule en dessous soit 72
et dans la colonne suivante indique le poucentage par rapport au total 72
soit en face 14 ,19% en face de 10 ,14%
en face de 23 , 32% en face de 25 ,35%
et en face du total 72 , 100%
Mettre les cellules au format nombres
Macro:
Sub SommePourcentage()
Dim Plage As Range
Dim Cellule As Range
Set Plage = Selection
With Plage
Cells(.Cells(.Cells.Count).Row + 1, .Column).FormulaLocal = "=somme(" & .Cells(1).Address
& ":" & _
.Cells(.Cells.Count).Address & ")"
Cells(.Cells(.Cells.Count).Row + 1, .Column + 1).FormulaLocal = _
"=somme(" & .Cells(1).Offset(0, 1).Address & ":" & .Cells(.Cells.Count).Offset(0,
1).Address & ")"
For Each Cellule In Plage
Cellule.Offset(0, 1).FormulaLocal = "=" & Cellule.Address & "/" & _
Cells(.Cells(.Cells.Count).Row + 1, .Column).Address
Next Cellule
End With
End Sub
Compter le nombre de cellules de la même couleur de fond
Fonction SomCool.
Exemple : Mettre dans la cellule du résultat la formule suivante
=SomCool(A1:B5;"rouge")
On peut ajouter des couleurs a la fonction.
Function SomCool(Zne As Range, Couleur As String)
Application.Volatile True
Select Case Couleur
Case "rouge"
Couleur = 3
Case "vert"
Couleur = 50
Case "jaune"
Couleur = 6
Case "bleu"
Couleur = 5
Case "gris"
Couleur = 15
Case "orange"
Couleur = 40
End Select
For Each cell In Zne
If cell.Interior.ColorIndex = Couleur Then cvSomme = cvSomme + 1
Next
SomCool = cvSomme
End Function
Pour avoir une sorte de chronomètre dans la feuille.
Copie ces quelques lignes de code dans un module et dans la ou
les cellules de la feuille ou les feuilles de ton choix entrer la formule
=MonHeure
Voici le code:
Sub Chronometre()
Application.OnTime Now + TimeValue("00:00:01"), "HeureUpdate"
End Sub
Sub HeureUpdate()
ValeurHeure = Format(Now, "DD MM YYYY HH:MM:SS")
ActiveWorkbook.Names.Add "MonHeure", ValeurHeure
Chronometre
End Sub
On peut changer le format de la date et heure.