Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Merci Samual_2023 pour ton intérêt,
Ton idée m'échappe un peu, de mon côté j'ai utilisé cet arbre pour interfacer des "minuteries" et créer des animations. J'ai dû ajouter une gestion spécifique pour gérer les déclenchements simultanés car un arbre ne permet pas de gérer les données égales et...
Encore un correctif, j'espère le dernier
Il restait une anomalie qui n'était pas visible sur le test massif et concerne la fonction RemoveTipElt.
Le calcul des valeurs de balance est fait par la fonction récursive et BalAfterLeftDel et BalAfterRightDel n'ont rien à faire dans cette fonction ...
Bonjour Sandra,
J'ai repris la deuxième partie de la formule et l'ai décomposée dans 4 cellules :
E9=MIN($C9-ENT($C9);$G$2/24)
F9=$F$2/24+$G$2/24-MAX($B9-ENT($B9);$F$2/24)
G9=SI(NB.JOURS.OUVRES($B9;$C9)>2;(NB.JOURS.OUVRES($B9;$C9)-2)*($G$2-$F$2)/24;0)
Et Enfin
H9=E9-F9+G9
Et on obtient : 5:10:00...
2ème Mini patch = Grande conséquence
En poursuivant un autre projet d'animation, j'ai constaté que mon arbre n'était plus équilibré et du coup ne jouait pas du tout son rôle. Tous les algorithmes déjà publiés sur cette discussion sont concernés !
En faite, j'avais fait mes tests sur un tout...
Bonjour Job75,
Pour info cela ne marche pas non plus sur la version Excel 16 64Bits.
Il faut juste modifier la déclaration dans pict_on_form_to_pict_on_sheet :
Dim IPic As IPictureDisp, hCopy&
Par :
Dim IPic As IPictureDisp, hCopy As LongPtr
Par contre, c'est toujours NOIR
Bonsoir,
Il y a nom de fonction en allemand dans le code, sinon le problème n'est pas clairement exposé ... Le fait d'associer l'évènement OnCalculate à la fonction TagMonatEintragen semble lancer le programme en boucle ...
Bonsoir,
rngName = rnVal ?
Si c'est du VBA il faudrait écrire :
Set rngName = Range("A2:A50")
C'est une formule qu'il faut ou du code VBA ? Ce n'est pas clair ...
Comme on me l'a fait remarquer🤥, mon générateur n'est pas un générateur de nombre non séquentiel mais plutôt un générateur de séquence de nombre non Incrémentale.
Du coup, j'ai écrit une version plus générique : Génère une séquence décimale non incrémentale
Bonjour,
Pour pouvoir tester certain algorithme, il est utile d'avoir une série de valeur organisée de façon non incrémentale afin de reproduire le cas pratique dont voici une illustration : Arbre AVL.
Algorithme permettant de générer cette série dans un tableau et de vérifier sa validité ...
Bonjour Patrick,
Oui tout à fait convaincu !! C'est comme cela que j'ai fait sur un Arbre AVL.
Le VBA est un langage pseudo-objet et je pense qu'il présente dans sa gestion des objets des imperfections ou bizarreries. Il est préférable d'être au courant car sinon on peut rester bloqué longtemps...
J'ai bien compris l'utilité des propriétés Get, Let ou Set pas de soucis. Je crois que l'on est toujours sur un cas similaire à celui que je présente dans le sujet.
'Accès direct
Set ob1.v(0) = ob3
'En passant par property Get
Set ob1.NoeudPère = ob2
Dans mon cas (Accès direct), ob1.v(0) est vu...
Bonjour dysorthographie,
Tout à fait, cela complique les choses en définitive ... J'ai utilisé une collection dans ma version d'arbre AVL pour régler le cas des doublons qui ne sont pas pris en charge dans l'arbre directement c'était beaucoup plus simple et efficace !
Bonjour Dranreb,
Oui en privé pas de problème mais en public aussi si on le déclare dynamiquement avec un variant Array. Mais impossible d'y accéder via un autre objet :
'CLASSE: MaClasse
Public v As Variant
Public Name As String
Sub Init(obj As MaClasse)
v = Array(obj) 'Pas besoin de...
L'algo en C que j'ai converti au départ n'était pas coton à lire avec les noms des paramètres seuls dans chaque fonction et leur déclaration en dessous sans compter tous les retours à la ligne. J'ai dû le réécrire de façon plus moderne pour comprendre quelque chose puis renommer les fonctions et...
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.