Formule SIESTNUMCHERCHE

majesty411

XLDnaute Nouveau
Bonjour,

J'ai un petit problème, je veux faire en sorte que par exemple dans le mot : AAABAC, le AA sois référencé dans une nouvelle case comme @1, le AB comme @2 et le AC comme @3 , jusque là j'y arrive j'ai utilisé la formule : =SI(ESTNUM(CHERCHE("AA";A2));"@1";"")&SI(ESTNUM(CHERCHE("AB";A2));"@2";"")&SI(ESTNUM(CHERCHE("AC";A2));"@3";"")

Grace à cette formule j'ai bien @1@2@3 mais je voulais aussi faire en sorte que si j'ai AAABACAD, en sortie j'ai @1@2@3AD , donc en gros que ce qui n'a pas été remplacé par la formule dans le mot sois quand même ajouter et écris en sortie donc ici en l’occurrence le AD est de trop mais je veux qu'il sois quand même présent et écris, je ne sais pas ce que je dois rajouter à ma formule, si vous pouviez m'éclaircir sur le sujet ce serait simpa.


Merci d'avance =)
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
joignez plutôt ce que vous avez essayé vous.
Ou indiquez moi d'abord quelles erreurs vous avez exactement, si vous préférez.
Normalement ça ne peut pas générer d'erreur si vous mettez seulement tout le code indiqué au poste #14 dans un nouveau module standard.
 
Dernière édition:

majesty411

XLDnaute Nouveau
Une dernière chose et la plus importante, comment partager le excel en ligne et que les gens puissent utiliser la macro, juste au moins utiliser la fonction, pas la modifié mais y avoir accès, car quand je met le excel en ligne et j'utilise la fonction sa me met : "NOM?" car la fonction n'a pas été exporté
 

Dranreb

XLDnaute Barbatruc
Ça je ne sais pas. Je ne sais pas ce que vous entendez par "mettre en ligne". Sur internet ? Je crois que les outils permettant de consulter un classeur dans un site même ne prennent pas en charge les macros. Mais je n'y connais rien de toute façon.
La fonction pourrait cependant sûrement s'écrire dans plein d'autres langages, dont Java qui est celui piloté par les sites chez l'internaute.
 
Dernière édition:

majesty411

XLDnaute Nouveau
Désolé je reviens vous embêter, mais j'ai trouvé une solution pour le partager c'est bon, mais y a une autre problematique que je pensais être resolu c'est que si je fais =Arobas("MXMoYotZt12";"Mot1";"Mot2") trouve "@1@2XYZ" , mais si j'écris 1MXMoYotZt2 au lieu de MXMoYotZt12, il trouvera pas le @1 , en gros il ne va pas chercher ce qu'il lui faut pour faire une contraction derrière, il lis que de gauche à droite dans un sens unique et ne se dit pas que la fin du mot à rechercher et au début et le début à la fin, il ne va que dans un sens (de gauche à droite) du coup sa m'aide pas vraiment ^^
 

Dranreb

XLDnaute Barbatruc
Bonsoir
Oui mais alors là on ne peut plus chercher des mots il me semble.
On peut seulement établir si tous les caractères de chaque mot sont présents dans le 1er argument et les en retirer. Puis procéder pour les suivant avec ceux qui restent. Attention: des mots on peut en faire des quantités, les lettres majuscules non accentuées il n'y en a que 26 .
 

Dranreb

XLDnaute Barbatruc
La fonction qui calculerait comme ça :
VB:
Function Arobas(ByVal Source As String, ParamArray Groupes()) As String
Dim N&, Groupe As String, Rés As String, Q&, P&
Arobas = ""
For N = 0 To UBound(Groupes)
   Groupe = Groupes(N): Rés = Source
   For Q = 1 To Len(Groupe)
      P = InStr(Rés, Mid$(Groupe, Q, 1))
      If P = 0 Then Exit For
      Rés = Left$(Rés, P - 1) & Mid$(Rés, P + 1): Next Q
   If Q > Len(Groupe) Then
      Arobas = Arobas & "@" & N + 1: Source = Rés: End If: Next N
Arobas = Arobas & Source
End Function
Attention: Un caractère de source n'est compté qu'une fois.
Si plusieurs groupes ont des caractères communs ils doivent y être répétés parce qu'ils sont épuisés au fur et à mesure de l'étude des groupes spécifiés en premier.
C'est bien ce que vous voulez cette fois ?
 

Discussions similaires

Réponses
5
Affichages
403

Statistiques des forums

Discussions
314 093
Messages
2 105 789
Membres
109 430
dernier inscrit
dede746