Comment dire que la lettre vaut un chiffre

Fermé
SayzZ - 26 févr. 2021 à 05:28
PapyLuc51 Messages postés 4380 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 1 octobre 2024 - 26 févr. 2021 à 08:38
Bonjour,


J'ai 2 Lettre par exemple A et L et je voudrais dire que A vaut 1 et que L vaut -1 et que si il y a plusieurs A, alors sa me le multiplie par sa valeur
Configuration: Android / Chrome 88.0.4324.181
A voir également:

4 réponses

PapyLuc51 Messages postés 4380 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 1 octobre 2024 1 438
26 févr. 2021 à 06:46
Bonjour

Pour trouver le nombre de fois le même caractère dans une suite il faut utiliser NBCAR et SUBSTITUE

La formule pour une suite en A2

=(NBCAR(A2)-NBCAR(SUBSTITUE(A2;"A";"")))*1-(NBCAR(A2)-NBCAR(SUBSTITUE(A2;"L";"")))*1


Pour changer la valeur à multiplier et afin d'éviter de toucher à la formule mettre les multiplicateur dans les cellules à part

A1 le multiplicateur pour la lettre A
B1 le multiplicateur pour la lettre L

=(NBCAR(A2)-NBCAR(SUBSTITUE(A2;"A";"")))*A1-(NBCAR(A2)-NBCAR(SUBSTITUE(A2;"L";"")))*B1


Cordialement
0
Alors j'ai pas trop compris mais en gros je veut calculer le nombre de A dans plusieurs cellules par exemple de A1 jusqu'à A10 et faire de même avec L
0
dachiasse Messages postés 1709 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 13 mai 2021 149
26 févr. 2021 à 07:12
Ok, alors pour ma part je croyais que tu voulais additionner les valeurs des chaque caractère d'un mot et donner la somme.

Par exemple, imagine que "A" vaut 1 et "B" vaut 2.
"ABBA" donnerait 1 + 2 + 2 + 1 = 6

C'est peut-être clair dans ta tête mais je ne peux pas savoir exactement si tu expliques mal.
0
Justement comment je fait pour que A vaut 1
0
dachiasse Messages postés 1709 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 13 mai 2021 149 > SayzZ
Modifié le 26 févr. 2021 à 07:34
Tu dois faire un dictionnaire qui est une association clé:valeur comme ça : https://excelmacromastery.com/vba-dictionary/

Les exemples sont clairs et simples, à toi d'adapter.

Je n'ai pas Excel mais LibreOffice Calc, il y a quelques différences, mais, je viens de créer une macro simple. D'abord, je mets les lettres de l'alphabet une à une dans une liste. Ensuite, je crée un input, c'est-à-dire une donnée à taper au clavier, pour assigner une valeur à chaque lettre. J'ai un mot test pour vérifier que le résultat est correct. Le code n'est pas parfait, par exemple, j'ai volontairement rien tapé à chaque input, comme rien n'est pas de type nombre entier ça a sorti une erreur. Voici le code, non commenté car suffisamment explicite :

Option VBASupport 1

Function additionner_lettres(mot as string, dico_equivalence as Scripting.Dictionary)
    compteur = 0
    taille = len(mot)
    for i = 1 to taille
        compteur = compteur + dico_equivalence(mid(mot, i, 1))
    next i
    additionner_lettres = compteur
End Function

Sub Main
 dim liste_pour_remplissage_nombre(25) as String
    dim dico_equivalence_lettre_chiffre as New Collection
    
    dim phrase as string
    dim mot_test as string
    mot_test = "abba"
    dim resultat as integer

    for i = 0 to UBound(liste_pour_remplissage_nombre)
        liste_pour_remplissage_nombre(i) = Chr(65+i)
    Next i
 
    for i = 0 to UBound(liste_pour_remplissage_nombre)
        phrase = "Tape la valeur équivalente à " & liste_pour_remplissage_nombre(i)
        temporaire = inputbox(phrase)
        dico_equivalence_lettre_chiffre.add(temporaire, liste_pour_remplissage_nombre(i))
    next i

    resultat = additionner_lettres(mot_test, dico_equivalence_lettre_chiffre)
    msgbox resultat
End Sub
0
PapyLuc51 Messages postés 4380 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 1 octobre 2024 1 438
26 févr. 2021 à 07:35
Tu veux dire le nombre de fois la même lettre dans une plage de cellules qui n'en contiennent qu'une seule ??

dans ce cas un NB.SI est suffisant =NB.SI(A1:A10;"A")* par la valeur du multiplicateur ; soit directement dans la formule, soit, comme dit plus haut, par la référence de la cellule contenant celui-ci

Ma réponse précédente concerne une chaine de caractères dans une seule cellule ; c'est-à-dire on compte le nombre total de caractères dans la cellule et on lui retranche le nombre de caractères sans les caractères cherchés. Ainsi si la cellule contient "BLABLA" (6 caractères - 4 caractères "BLBL") donnent 2 caractères représentant la lettre "A".

Si c'est autre chose donne plus d'explications pour éviter les tâtonnements dans les réponses.

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
Modifié le 26 févr. 2021 à 08:10
Bonjour
voyez si ce modèle peut répondre à votre besoin et revenez si soucis
https://mon-partage.fr/f/j6CSxhXU/
crdlmnt

0
PapyLuc51 Messages postés 4380 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 1 octobre 2024 1 438
26 févr. 2021 à 08:38
Salut Vaucluse
Je commençais la même chose - pas la peine que je termine.
Cordialement
0