OVH Cloud OVH Cloud

Mohair et chinoiseries

17 réponses
Avatar
garnote
Bonjour Bonjour à tous et à toutes,

J'espère que tout va bien pour vous.
Voici quelques macros pour le plaisir et
pour fêter ma retraite. C'est, ma foi, assez zoli!

Bien bonne et belle journée,
Serge





Public Declare Sub Sleep Lib "kernel32" _
(ByVal dwMilliseconds As Long)
Dim octo1 As Shape, octo2 As Shape
Dim cercle1 As Shape, cercle2 As Shape
Dim ligne1 As Shape, ligne2 As Shape

Sub Phénomènes_De_Moiré()

'Si vous lancez cette macro, une animation vous
'attend. Par la suite, vous pourrez sélectionner
'et déplacer les formes à votre guise.
'Si vous déplacez une forme sur une autre forme
'avec les flèches de direction, vous obtiendrez
'd'autres phénomènes de moiré animés.

Dim i As Integer, rep As Integer
Dim n() As Variant

'Je mets le curseur en forme de sablier
Application.Cursor = xlWait
'Pas de rafraîchissement, plein écran et
'contrôle des interruptions. Vous pouvez
'arrêter l'animation avec Escape ou
'Ctrl+Pause. Vous aurez alors le choix
'de continuer ou pas.
With Application
.ScreenUpdating = False
.DisplayFullScreen = True
.EnableCancelKey = xlErrorHandler
End With
'Remarque trouvée chez MONSIEUR Walkenbach:
'Pour que les procédures de gestion d'erreurs puissent
'fonctionner, le paramètre "Arrêt sur toutes les erreurs"
'doit être désactivé. Dans l'éditeur de VB, choisissez
'Outils/Options et cliquez sur l'onglet Général dans la
'boîte de dialogue d'options. Si "Arrêt sur toutes les
'erreurs" est sélectionné, VBA ignore votre code de
'gestion d'erreurs.
On Error GoTo FIN
'J'ajoute une feuille
Sheets.Add
'Je fais disparaître le quadrillage et les en-têtes
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
End With

With ActiveSheet 'Le plus gros With de ma vie ;-)

'Entre les étiquettes 1 et 100, je construis deux groupes
'd'octogones concentriques, deux groupes de cercles
'concentriques et deux groupes de lignes parallèles.
1:
ReDim n(1 To 20)
'Je construis 20 octogones
For i = 1 To 20
Set octo = _
.Shapes.AddShape(msoShapeOctagon, 1, 1, 10 * i - 5, 10 * i - 5)
n(i) = i
Next i
'Je confie les octogones à la macro Emboîter
Emboîter .Shapes.Range(n)
'Je groupe les octogones
Set octo1 = .Shapes.Range(n).Group
'Je confie le groupe d'octogones à la macro Placer
Placer octo1, 207, 15, 8
'Je copie le groupe octo1 et je le place
Set octo2 = octo1.Duplicate
Placer octo2, 7, 215, 10
ReDim n(3 To 22)
'Je construis 20 cercles
For i = 1 To 20
Set cercle = _
.Shapes.AddShape(msoShapeOval, 1, 1, 10 * i - 5, 10 * i - 5)
n(i + 2) = i + 2
Next i
'Je les emboîte
Emboîter .Shapes.Range(n)
'Je les groupe
Set cercle1 = .Shapes.Range(n).Group
'Je les place
Placer cercle1, 7, 15, 12
'Je copie le groupe cercle1 et je le place
Set cercle2 = cercle1.Duplicate
Placer cercle2, 408, 15, 14
'Je construis deux groupes de lignes parallèles.
'La distance séparant deux lignes d'un groupe
'est légèrement différente de celle séparant
'deux lignes de l'autre groupe. C'est ce petit
'décalage qui engendre un phénomène de moiré
'quand on superpose les groupes de lignes.
ReDim n(5 To 44)
For i = 1 To 40
Set ligne = .Shapes.AddLine(5 * i + 5, 10, 5 * i + 5, 150)
ligne.Line.Weight = 2
n(i + 4) = i + 4
Next i
Set ligne1 = .Shapes.Range(n).Group
Placer ligne1, 230, 242, 8
ReDim n(6 To 39)
For i = 1 To 34
Set ligne = .Shapes.AddLine(6 * i + 4, 10, 6 * i + 4, 150)
ligne.Line.Weight = 2
n(i + 5) = i + 5
Next i
Set ligne2 = .Shapes.Range(n).Group
Placer ligne2, 432, 242, 10
100:
'Pour voir l'animation
Application.ScreenUpdating = True
'Petite pause
Sleep (100)
'ANIMATION. Si sa vitesse ne vous convient pas,
'modifiez l'argument du Sleep.
With cercle1
For i = 7 To 506
.Left = i
DoEvents
Sleep (20)
Next i
Sleep (200)
.Left = 7
.Top = 15
End With
With ligne2
For i = 430 To 297 Step -1
.Left = i
DoEvents
Sleep (20)
Next i
Sleep (200)
.Left = 432
'Je copie le groupe ligne2 et je fais
'pivoter cette copie de 15 degrés
With .Duplicate
.IncrementRotation 15
.Left = 226
.Top = 242
End With
End With
End With 'Fin du With ActiveSheet, il était temps!

MsgBox "Vous pouvez maintenant composer vos propres motifs et les" _
& vbLf & "animer en déplaçant des formes avec les flèches de direction." _
, , " Fin de l'animation"
'Un exemple de motifs
gauche = Array(28, 288, 286, 29, 28, 284, 27)
haut = Array(14, 16, 111, 15, 257, 209, 257)
With ActiveSheet
For i = 1 To 7
.Shapes(i).Left = gauche(i - 1)
.Shapes(i).Top = haut(i - 1)
Next i
.Shapes(4).Select
End With
Application.Cursor = xlDefault
Exit Sub

FIN:
If Err = 18 Then
rep = MsgBox("Désirez-vous continuer ?", vbYesNo, " Interruption")
If rep = vbYes Then Resume
End If
Application.Cursor = xlDefault
MsgBox "Vous pouvez maintenant composer vos propres motifs et les" _
& vbLf & "animer en déplaçant des formes avec les flèches de direction." _
, , " Fin de l'animation"

'garnote, juin 2005
End Sub

Sub Emboîter(forme As Object)
With forme
.Align msoAlignCenters, False
.Align msoAlignMiddles, False
.Fill.Visible = msoFalse
.Line.Weight = 2
End With
End Sub

Sub Placer(forme As Object, gauche As Single, haut As Single, couleur As
Byte)
With forme
.Left = gauche
.Top = haut
.Line.ForeColor.SchemeColor = couleur
End With
End Sub

Sub Yin_Yang()
Dim i As Byte, j As Byte, k As Byte, l As Byte
Dim m As Byte, n As Byte, c As Byte, p As Byte
Dim lig As Byte, col As Byte
Dim couleurs As Variant
Dim patente As Range
With Application
.ScreenUpdating = False
.DisplayFullScreen = True
End With
Sheets.Add
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
End With
With Cells
.ColumnWidth = 2
.RowHeight = 4
End With
Rows(4).RowHeight = 12
For i = 21 To 105 Step 14
Rows(i).RowHeight = 10
Next i
For i = 5 To 31 Step 4
Columns(i).ColumnWidth = 4
Next i
[A500].Select
With ActiveWindow
.ScrollColumn = 1
.ScrollRow = 1
End With
For i = 0 To 1
For j = 0 To 1
For k = 0 To 1
For l = 0 To 1
For m = 0 To 1
For n = 0 To 1
c = c + 1
col = (4 * c - 1) Mod 32
lig = 14 * WorksheetFunction.RoundUp(c / 8, 0) - 5
For p = 1 To 6
Cells(lig + 2 * (p - 1), col).Interior.ColorIndex = _
Choose(p, i, j, k, l, m, n)
Cells(lig + 2 * (p - 1), col - 1).Interior.ColorIndex = 1
Cells(lig + 2 * (p - 1), col + 1).Interior.ColorIndex = 1
Next p
Next n
Next m
Next l
Next k
Next j
Next i
With [B4]
.Value = "Les 64 hexagrammes du I Ching"
.Font.Size = 11
.Font.Bold = True
End With
[B4:AF4].HorizontalAlignment = xlCenterAcrossSelection
Application.ScreenUpdating = True
Sleep (500)
couleurs = Array(3, 4, 5, 7, 1)
For i = 0 To 4
Application.ScreenUpdating = False
ActiveWindow.Zoom = 110 + 10 * i
For Each patente In Range("B9:AF117")
If patente.Interior.ColorIndex <> xlNone Then _
patente.Interior.ColorIndex = couleurs(i)
Next patente
[B4].Font.ColorIndex = couleurs(i)
Application.ScreenUpdating = True
If i < 4 Then Sleep (500)
Next i
'garnote, juin 2005
End Sub

Sub Curseur()
'Si par malheur vous restez coincé avec le sablier,
'cliquez ici avec le sablier et tapez sur F5.
'Ou associez un raccourci à cette macro.
Application.Cursor = xlDefault
End Sub

7 réponses

1 2
Avatar
JièL Goubert
Bonjoir(c) Modeste

Le 19/06/2005 18:34 vous avez écrit ceci :
Arrrrghhh....
'tain ne me parles pas de Ferrari (*)
Fallait pas le dire !!!!!
Jiel© ne savait pas que j'avais trouvé la clé !!!


aaaaaaaahhhhhhhhhh c'est toi qui l'a ?! :-))))))

j'aurais du la repeindre en bleu et jaune .


Sacrilège, une Ferrari c'est rouge ou ça n'est pas malheureux

http://minilien.com/?7fRSWiuYMP


Génial ce site

JièL Voiture Jaune

Avatar
Modeste
JièL Goubert wrote:
Sacrilège, une Ferrari c'est rouge ou ça n'est pas malheureux
originalement une Ferrari était jaune orangé !!! mais également bleu foncé

Rouge à été adopté en tant que couleur nationale italienne.
Le Bleu pour les voitures francaises, le vert pour les voitures anglaises,
US blanc et 2 rayures bleues, Argent pour allemagne
mais je te parle d'un temps que les .... etc...

JièL Voiture Jaune
avec une lettre volante : c'est la poste ;o)))


http://minilien.com/?7fRSWiuYMP
Génial ce site



Là tu te gausses, aujourd'hui tu n'a pas du voir grand chose :-(((
notament le "live" http://minilien.com/?dnPH1NXHmz
ou l'on a en direct la télémétrie : RPM, Frein, Acceleration, Boite,Vitesse,
force-G
voir aussi Analysis

http://minilien.com/?CsOugYDuTu
6 au depart
5 à l'arrivée : Schumi 10 pts, Rubigno 8pts, Monteiro 6 pts, Karthikeyan
5pts ,Albers 4pts
Friesacher marque cependant 3pts

2eme week-end noir de suite :-(((

@+


Avatar
Jacquouille
Salut Pépé
Et si on faisait un recensement des retraités??
Pour occuper tes journées, tu pourrais nous bricoler, en Excel 5, made in
Camembert, un menu ou une barre avé tout plein des boutons pour nous faire
du bon sirop.
Mais pas de copier-coller car ça colle déjà assez comme cela. Il paraît que
chez Michelin ont racheté le brevet comme additif à leur gomme. Que ferait
la France sans la Belgique?
Jacques, pas encore remis de ses 36 degrés de cette aprem. -))
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

"Modeste" a écrit dans le message de news:

Bonsour® Serge
quelques macros pour le plaisir et pour fêter ma retraite.
moi depuis que cela m'est tombé sur la cafetière ( 2 mois 1/2 déja !!!)

je n'ai plus eu l'opportunité d'écrire un programme...



Avatar
garnote
;-)))

Santé

Serge

"jps" <enlevezd' a écrit dans le message de news:
u$
ouais, les garnoteries, je les fuis comme la peste : elles m'ont déjà
coûté 25 formatages, 4 DD neufs, 2 écrans plasma sans parler des CD,
disquettes et Iomega zip brûlés, les premiers servant à épouvantail à
oiseaux dans les jardins proches...
vous me direz : rien de tel pour occuper positivement sa retraite
jps

"Modeste" a écrit dans le message de news:

Bonsour® Serge
quelques macros pour le plaisir et pour fêter ma retraite.


Alors bonne fête !!!
Comment vas-tu faire maintenant ????
pour trouver le temps de réaliser ces (comme dit JPS ) :
"GeeDeesquerie!!!!"

moi depuis que cela m'est tombé sur la cafetière ( 2 mois 1/2 déja !!!)
je n'ai plus eu l'opportunité d'écrire un programme...

;o)))
@+








Avatar
JièL Goubert
Bonjoir(c) Modeste

Le 19/06/2005 21:52 vous avez écrit ceci :
http://minilien.com/?CsOugYDuTu
6 au depart
5 à l'arrivée : Schumi 10 pts, Rubigno 8pts, Monteiro 6 pts, Karthikeyan
5pts ,Albers 4pts
Friesacher marque cependant 3pts


Ca c'etait de la super course bien palpitante et tout et tout ;-)))))
Z'ont été sympa de nous montrer le départ quand même, dommage pour la suite

2eme week-end noir de suite :-(((


Ben pas pour tous, y'en a un qui rattrape des points au moins

JièL Fer a riz

Avatar
Jean-Claude Arbaut
On 19/06/2005 17:31, garnote wrote:

Bonjour Bonjour à tous et à toutes,

J'espère que tout va bien pour vous.
Voici quelques macros pour le plaisir et
pour fêter ma retraite. C'est, ma foi, assez zoli!


Bonne fête :-)

Avatar
Jean-Claude Arbaut
On 19/06/2005 18:03, Modeste wrote:

Bonsour® Serge
quelques macros pour le plaisir et pour fêter ma retraite.


Alors bonne fête !!!
Comment vas-tu faire maintenant ????
pour trouver le temps de réaliser ces (comme dit JPS ) : "GeeDeesquerie!!!!"

moi depuis que cela m'est tombé sur la cafetière ( 2 mois 1/2 déja !!!)
je n'ai plus eu l'opportunité d'écrire un programme...


Pourquoi diable ? Un retraité n'aurait-il pas le droit ? Ou alors c'est que
tu trouves tellement à faire que tu n'as pas le temps, évidemment c'est
autre chose...


1 2