Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 les machistes (utilisateurs de Mac OS peuvent ils tester ceci

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
@RyuAutodidacte m' a rappelé un lien vers un amis de l'autre monde concernant une classe pseudo dictionnaire pour MAC
malgré que j'apprécie beaucoup l'auteur (avec qui j'ai même collaboré sur l’accélérateur de requête entre autres ) ,je trouve que c'est un peu usine à gaz

j'ai donc fait les choses à ma façon
mais avant d'aller plus loin car des idées j'en ai plein ,si vous êtes un utilisateur sur MAC pouvez vous tester ce pseudo dictionnaire
sur Windows ça match il me faut confirmation sur MAC

Merci pour vos retours
 

Pièces jointes

  • classe dictionary pour Mac.xlsm
    18.3 KB · Affichages: 10
Dernière édition:

RyuAutodidacte

XLDnaute Impliqué
Re,
Dans les variables locales :


UBound(CF) = -1 renvoie Vrai
je donne la valeur False au nom de la Function => Items_Keys = False
ca plante à Exit Function
 
Dernière édition:

RyuAutodidacte

XLDnaute Impliqué
Je fais ca :
VB:
Sub test()
    A = Array("toto", "titi", "U3", "riri", "fifi", "toto", "E3", "loulou", "tutu", "toto1", "toto2", "U2", "E1", "tata", "fifi", "titi", "E2", "U1")
    R = Filtr(A)
   MsgBox R
End Sub

Function Filtr(A)
     F = Filter(A, "Z")
     If UBound(F) = -1 Then Filtr = False: Exit Function
End Function

ca pose pourtant pas de pb dans un module
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
2013 mais c'est pareil pour tous
a oui la filter de vba pardon !!!!
mais attention elle renvoie aussi false quand il y a pas d'occurence !!!!!!




VB:
Const exclure As Boolean = False
Const inclure As Boolean = True

Sub test()
    A = Array("toto", "titi", "U3", "riri", "fifi", "zaza", "toto", "E3", "zouzou", "loulou", "tutu", "toto1", "toto2", "U2", "E1", "tata", "fifi", "titi", "E2", "U1")
    r = Filtr(A, "z", exclure)
    MsgBox "pas les mots avec ""z""" & vbCrLf & Join(r, ",")

    r = Filtr(A, "z", inclure)
    MsgBox "que les mots avec ""z""" & vbCrLf & Join(r, ",")

    r = Filtr(A, "zy", inclure)
    If r = False Then ' ca peut être aussi : if isarray(r)
        MsgBox " par de mot avec ""zy"""
    Else
        MsgBox "que les mots avec ""z""" & vbCrLf & Join(r, ",")
    End If
End Sub

Function Filtr(A, Lettre, incexclu)
    f = filter(A, Lettre, incexclu, 1)
    If UBound(f) = -1 Then Filtr = False: Exit Function
    Filtr = f
End Function

il faudra quand même m'expliquer aussi pourquoi passer par la function passerelle "filtr"
c'est Absurde
 

RyuAutodidacte

XLDnaute Impliqué
Re
de toute façon j'ai fait un test précis et ca ne vient pas de là
l'erreur se fait sur le exit function mais c'est du à une variable mal typé apparemment qui donne l'erreur 13 en sortie de la fonction
faut que je trouve c'est laquelle ….
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…