Supprimer certaines valeurs
#1
Régulier XLPages

Inscription: 31/12/2008

Messages: 55

Système d'exploitation:
PC
Version Excel utilisée:
excel 2003
Posté le : 13-02-2021 11h08

Bonjour le forum

Je cherche a supprimer certaine valeur de chaque ligne qui sont au format texte.

Supprimer les chiffres entre parenthése (20), (19), (18)

Supprimer aussi la lettre qui se trouve a droite du chiffre 5p>5, 11p>11,pour que je puisse faire la somme de chaque ligne et compter le nombre de courses.

En Feuil2 j'ai converti le format texte si cela peut-etre plus facile.

Merci

 

Pièce jointe:
xlsm turfmusique.xlsm   [ Taille: 55.19 Ko - Téléchargements: 293 ]
Hors Ligne
Rapport   Haut 

Re: Supprimer certaines valeurs
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 13-02-2021 13h53

Bonjour Jad73, le Forum,

 

Tu trouveras en pièce jointe une solution possible, je pense.

 

La mise en oeuvre la plus simple, me semble être l'utilisation d'une fonction VBA personnalisée directement dans ta feuille de calcul.

 

Le code VBA que je te propose, est le suivant :

 DANS UN MODULE DE CODE STANDARD (Ex: Module1) 

Function calcMusique(R As Range, Optional vSomme As Boolean = False) As Integer
'myDearFriend! - www.mdf-xlpages.com
Dim vTab As Variant
Dim T As String
Dim i As Byte, vSum As Integer
    Application.Volatile
    T = R.Text
    'Liste expressions à tronquer (à adapter!)
    vTab = Array("(18)", "(19)", "(20)", "D", "T", "p", "h")
    For i = 0 To UBound(vTab)
        T = Replace(T, vTab(i), "")
    Next i
    T = Trim(Replace(T, "  ", " "))
    'Mettre les éléments en tableau
    vTab = Split(T, " ")
    'Calcul
    If vSomme Then
        'Faire la somme des items
        For i = 0 To UBound(vTab)
            vSum = vSum + vTab(i)
        Next i
        calcMusique = vSum
    Else
        calcMusique = UBound(vTab) + 1
    End If
End Function

 

FONCTIONNEMENT :

Soit l'expression suivante en cellule A1 par exemple :

(20) 1p 12p 4p 2p Dp 7p 6p 7p (19) 4p 3p 1p 1p

Cette fonction VBA va tout d'abord considérer uniquement les valeurs chiffrées suivantes :

(20) 1p 12p 4p 2p Dp 7p 6p 7p (19) 4p 3p 1p 1p

  • Pour en obtenir la SOMME, tu fais appel à cette fonction avec l'argument "VRAI", comme suit :
=calcMusique(A1;VRAI)
  • Et pour obtenir le NOMBRE de VALEURS chiffrées à considérer (soit nombre de courses) :
=calcMusique(A1;FAUX)

ou bien, tout simplement comme suit, car l'argument "FAUX" est une valeur par défaut  :

=calcMusique(A1)

  

Dans l'exemple ci-dessus, tu obtiendras une somme de « 48 », et un nombre de valeurs de « 11 ».

 

 

J'ai appliqué cette fonction dans ta feuille (classeur en pièce jointe).

J'espère que ça pourra t'aider...

 

Bien cordialement,

Pièce jointe:
xlsm Pour_Jad73.xlsm   [ Taille: 65.52 Ko - Téléchargements: 350 ]
Edité par myDearFriend! le 13/02/2021 14:19:16

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Supprimer certaines valeurs
#3
Régulier XLPages

Inscription: 31/12/2008

Messages: 55

Système d'exploitation:
PC
Version Excel utilisée:
excel 2003
Posté le : 14-02-2021 10h53

Bonjour myDearFriend, le forum

Merci pour ta réponse, c'est parfait.

Juste une question, je dois faire 2 autres feuilles Trot et Haies vues que les données et colonnes ne sont pas les memes, je pense que je dois créer 2 autres modules et y recopier votre code, y a-t-il une indication spéciale a mettre dans le code pour aller sur chaque feuille.

Merci

 

 

Hors Ligne
Rapport   Haut 

Re: Supprimer certaines valeurs
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 14-02-2021 17h30

Bonjour Jad73,

 

Non. J'ai placé la Function VBA (en mode public) dans un module standard. Donc en principe, elle est accessible depuis n'importe où dans le classeur.

 

Il te suffit donc de faire appel à cette fonction depuis l'autre feuille, de la même manière que je l'ai fait dans la première. Ça devrait fonctionner quelque soit la feuille avec cette unique procédure, elle est faite pour ça. 

 

Bien cordialement, 

 

 


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes