La Macro du 14/03/2002

 

Problème : Créer une fonction personnalisée permettant de retrouver une période géologique d'après une date. Le module complet : Geol.bas

Macro Commentaires

La macro sera décrite plus tard


L'utilisation de  =Geol()
Cette fonction comprend plusieurs arguments
=Geol(Nombre;TypeInfo;TypeAnnée;SystemeDatation)
Nombre : obligatoire soit un nombre soit une cellule contenant un nombre
TypeInfo : Optionnel, les différents paramètres peuvent être utilisés conjointement
                1 : Eres géologiques : Paléozoïque, Mésozoïque...
                2 : Eres géologiques : Primaire, secondaire...
                3 ou omis : Périodes géologiques : Crétacé, Jurassique....
                4 : Séries géologiques : Crétacé Supérieur, Eocène....
                5 : Etage géologiques :  Turonien, Rhétien, Keuper....
TypeAnnée : Optionnel, Gère les type de nombre, Millions, Milliers ou années simples
                1 ou omis : le nombre est en millions d'années
                2 : le nombre est en milliers d'années
                3 : le nombre est en années simples
SystemeDatation : optionnel, gère deux systèmes le classique BP ou le système connu sous le nom de JPS et pratiquer par le Forum Excel qui part de la naissance de JPS soit -370 millions d'années
exemple : supposons le nombre 359 en A1
=Geol(A1;1345) : Paléozoïque Dévonien NéoDévonien Frashien
=Geol(A;5) : Frashien
mais en système JPS  =Geol(A1;1345;1;2) donne Céonozoïque Néogène Miocène Tortonien

 

 

 

La Macro du 12/03/2002

 

Problème : Sélectionner une cellule nommée "Client" se trouvant sur une autre feuille que la feuille active

Macro Commentaires

Sub AtteindreClient()
Application.Goto "Client"
End Sub


'Raccourci pour Range("Client")
Remarques : L'utilisation de cette syntaxe évite le
Sheets("Feuil").select
[Client].select

 

La Macro du 11/03/2002

 

Problème : Mettre des étiquettes représentant le pourcentage de chaque part pour des histogrammes empilés 12/01

Macro Commentaires

Sub PourcentageHistogramme()
For c = 1 To ActiveChart.SeriesCollection.Count
For d = 1 To ActiveChart.SeriesCollection(c).Points.Count

ActiveChart.SeriesCollection(c).Points(d).HasDataLabel = True
total = total + _ CDbl(ActiveChart.SeriesCollection(c).Points(d).DataLabel.Text)
Next d
For e = 1 To ActiveChart.SeriesCollection(c).Points.Count

Valeur =  _
CDbl(ActiveChart.SeriesCollection(c).Points(e).DataLabel.Text)
Resultat = Format(CDbl(Valeur) / total, "0.00%")

ActiveChart.SeriesCollection(c).Points(e).DataLabel.Text = _ Resultat
Next e

Next c
End Sub


‘compte le nombre de séries
‘compte le nombre le nombre de points dans la série
‘affiche les labels (valeur en texte)
‘Calcule le total de la série


‘Reprend les points de la série
‘Récupère la valeur de la série et la transforme en nombre
‘Calcul le rapport entre la valeur et le total et l’affiche sous la forme de % mais en texte
‘Affecte ce résultat au point de la série

Remarques : A noter : la conversion de texte en nombre par CDbl. Le 0.00% doit être transformé en 0,00% suivant le séparateur décimal installé sur votre poste.

Mesurez votre audience