HACKVBACON & FORMULALACON - Let's play ! ;-)

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

Sur ce même principe
http://www.hackacon.fr/
Qui serait intéresser par la chose?
Qui serait de créer des macros les plus alambiquées pour faire des choses simples voir des choses idiotes?

Voici une première macro ;)
VB:
Sub Hackacon_1()
'Je commence doucement ;-)
Dim imD As XlDirection, CelA$, Lol&, Derligne As Long
imD = 1 * Switch(Chr(120) + Chr(108) + Chr(85) + Chr(112) = Chr(120) + Chr(108) + Chr(85) + Chr(112), 3)
Columns(1).Clear
CelA = Cells(1, Columns.Count).End(xlToLeft).Address
Lol = Right(CStr(TimeSerial(Hour(Time), Minute(Time), Second(Time)) * 2), 3) * 3
Range(CelA).Resize(Lol + (5 / 5) - 0) = "=ROW()*NOW()"
Derligne = Cells(Rows.Count, Range(CelA).Column).End(imD).Row
MsgBox "La dernière ligne non vide est:" & vbCrLf & Derligne, vbInformation + vbOKOnly
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

Merci DavidXLD pour ton like
Du coup, je me sens encouragé à continuer dans l'idiotie ;)

Voici une seconde macro ;)
VB:
Sub Hackacon_2()
Dim Frontiere As XlBordersIndex, Murs As XlBorderWeight
Dim LaCelluleDerriereLaPorte As Range
Dim LePlancherDesVaches As String
Dim LaValeur As String
Dim LaLigneCetteDictatureFaiteAuxFemmes As Long
Dim LaCinquiemeColonne As Long
Dim LaRaieManta
LaRaieManta = Split("84²111²117²116²32²231²97²32²112²111²117²114²32²231²97²33", "²")
Cells.Clear
LaLigneCetteDictatureFaiteAuxFemmes = 1 * VBA.Left(Application.WorksheetFunction.Log10(Day(Date)) * 10 ^ 10, 3) - (99 - 10)
LaCinquiemeColonne = Application.WorksheetFunction.Bin2Dec(10) + Int(Application.WorksheetFunction.SqrtPi(999) / 9) / 2
Set LaCelluleDerriereLaPorte = Cells(1, 1).Range("A1").Item(1).Offset(0, 0)
LePlancherDesVaches = _
LaCelluleDerriereLaPorte.Resize(LaLigneCetteDictatureFaiteAuxFemmes, LaCinquiemeColonne).Address
Frontiere = 12
Murs = -4138
Range(LePlancherDesVaches).Borders(Frontiere).Weight = Murs
Range(LePlancherDesVaches).Interior.Color = vbYellow
For i = LBound(LaRaieManta) To UBound(LaRaieManta)
LaValeur = LaValeur & Chr(LaRaieManta(i))
Next
With Range(LePlancherDesVaches).Item(7, 3)
    .Font.Bold = True
    .Interior.Color = RGB(230, 177, 222)
    .Value = LaValeur
    .Columns.AutoFit
End With
End Sub
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Une procédure UnTrucQuiSertArien() pour une analyse pertinente, géométrique, visuelle et animée de données éléments de R+ réparties dans un ensemble de sous-ensembles compacts.

VB:
Option Explicit

Sub UnTrucQuiSertArien()
Const milisec = 50
Dim xcell, i&, j&, poids, xbary, ybary, n

With Selection
For Each xcell In .Cells
If xcell <> "" Then
If IsNumeric(xcell) Then
If xcell > 0 Then
If n = 0 Then
n = n + 1
poids = xcell
xbary = xcell.Left + xcell.Width / 2
ybary = xcell.Top + xcell.Height / 2
.Parent.Shapes("Gravite").Left = xbary - .Parent.Shapes("Gravite").Width / 2
.Parent.Shapes("Gravite").Top = ybary - .Parent.Shapes("Gravite").Height / 2
Attente milisec
Else
n = n + 1
xbary = (poids * xbary + xcell * (xcell.Left + xcell.Width / 2)) / (poids + xcell)
ybary = (poids * ybary + xcell * (xcell.Top + xcell.Height / 2)) / (poids + xcell)
poids = poids + xcell
.Parent.Shapes("Gravite").Left = xbary - .Parent.Shapes("Gravite").Width / 2
.Parent.Shapes("Gravite").Top = ybary - .Parent.Shapes("Gravite").Height / 2
Attente milisec
End If
End If
End If
End If
Next xcell
End With
End Sub

Sub Demo()

Range("A1:C10,J10:K21,A23:C30,A23:D29,D30").Select
UnTrucQuiSertArien
Attente 500
Range("A1:A30,K1:K30").Select
UnTrucQuiSertArien
Attente 500
Range("A1:C9,D10:F19,G20:I25,J26:K30").Select
UnTrucQuiSertArien
Attente 500
Range("B2:D9,E10:G18,K19:K30,J19:K30").Select
UnTrucQuiSertArien
MsgBox "Fini!"
End Sub

Sub Attente(Xmillisec&)
Dim T0#, T1#, T2#
T0 = Timer: T2 = T0 + Xmillisec / 1000#
Do
DoEvents: T1 = Timer: If T1 < T0 Then T1 = T1 + 86400
Loop Until T1 >= T2
End Sub
 

Pièces jointes

  • mapomme- Analyse géométrique & visuelle des données éléments de R+ v1a.xlsm
    19.7 KB · Affichages: 58
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour mapomme

Le xlam absent impacte gravement l'efficacité du processus ;)
AppData\Roaming\Microsoft\Excel\XLSTART\mapomme.xlam'!test
L'est pourtant joli le bouton Demo ;)

PS: Je te laisse réaffecter au bouton la macro test qui je suppose est la même que dans le xlam ;)

Ceci dit c'est du bel ouvrage. Bravo.

J'en profite pour poster cette petite bluette
VB:
Sub Hackacon_4()
Const UN As String = "EIN"
Const DEUX As String = "ZWEI"
Dim Uno As String
Dim Dos As String
Uno = Int(VBA.Log(Asc(Mid(UN, 1, 1)))) / (Application.WorksheetFunction.Hex2Dec("2C") - 40)
Dos = ((1 * Left(Asc(Mid(DEUX, 2, 1)), 1)) * (Right(Asc(Mid(DEUX, 2, 1)), 1) * 1)) / 28
Dim TROIS
MsgBox "Uno=" & vbTab & Uno & vbCrLf & "Dos=" & vbTab & Dos
TROIS = Uno + Dos
MsgBox "Uno+Dos=" & TROIS, vbCritical, "Y'a comme un blème!"
TROIS = CDbl(Uno * 1) + CDbl(Dos * 1)
MsgBox "Uno+Dos=" & TROIS, vbInformation, "Ouf!, c'est bon"
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

C'est OK, test concluant.
Mais pourquoi la Halte est devenu l'Attente entre temps? ;)

Sinon, je me permets cette suggestion pour ta MsgBox ;)
MsgBox "Fini!", vbInformation, "Capri, c'est..."
 

Si...

XLDnaute Barbatruc
Bon_jour

De l'utilisation du clavier : sur quelles touches faut-il taper pour écrire un texte ?

Je ne sais si ma proposition entre dans le cadre de ta demande Staple mais, suite à ton invitation, je la donne quand même.

J'ai fait de gros efforts dans le style d''écriture de la macro principale.
(si cet exemple m'était seulement destiné … mais c'est une autre hisoire !)

Je pense, mapomme que je vais prendre ton tempo : Application. Wait embrouille parfois mon système en arrêtant la macro comme le fait un Stop mais avec des messages d'erreur inexistante (?).

Remarque : [Code=Vb] nous en met plein la vue avec de belles couleurs mais nous sommes obligés de nous payer l'indentation ligne par ligne (voilà pourquoi je ne donne pas le code ici :p)
 

Pièces jointes

  • HackAkon Si.xlsm
    19.6 KB · Affichages: 61
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Bravo au deux participants ;)

Qui sera le troisième ?

PS: On peut élargir ce VBA HACKACON aux formules.
Ce qui nous donnerait le FORMULALACON
(où le but serait de créer des formules alambiquées)
dans ce style par exemple
Code:
=REPT(CAR(65);RACINE(4)=CHOISIR(N(T(GAUCHE(CELLULE("largeur";A1))))=0;VRAI;FAUX)*2)&LIGNE()
 

Staple1600

XLDnaute Barbatruc
Bonsoir Si..., Modeste Geedee

A cette heure, on peut se laisser aller à la facilité ;)
Code:
=RACINE(((CODE(GAUCHE(ROMAIN(CODE(CAR(CODE(GAUCHE(T(BAHTTEXT((0)))))+4)))))-LIGNE())/5/3)^2)/DROITE(CTXT(LOG10(1415)))*1

La début du titre d'un film
Code:
=(2*5*(7+3)*(99/9)+9)-109+ENT(BITOUEXCLUSIF(CNUM(BASE(BASE(2017;12);2));88)/10000000)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Je relance le fil au cas où quelque insomniaque aurait l'idée de nuitamment hackaconner ou formalaconner , au coin de l'âtre.
(pendant que moi je vais piquer mon petit roupillon ;))

Place au pouvoir de l'imagination au service de la futilité ;)
 

Si...

XLDnaute Barbatruc
Bon_soir

En ouvrant un classeur (merci Efgé), j'ai tout de suite pensé à ce débutant qui se prenait pour un Phénix Aigle mais qui trompétait très mal. Comme Staple aime un tant soit peu la musique, je lui offre ceci et cela.

Pour ne pas vous infliger une cacophonie, j'ai mis une sourdine mais si l'un de vous veut ajouter le son, qu'il ne s'en prive pas.
 

Pièces jointes

  • Couac.xlsm
    96.3 KB · Affichages: 65
Dernière édition:

Membres actuellement en ligne

Statistiques des forums

Discussions
315 087
Messages
2 116 082
Membres
112 653
dernier inscrit
flapynot7x