Formule pour avoir que des chiffres et plus de nombre

Résolu
youyou -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Quelqu'un aurait une idée de comment je pourrais passer de ce résultat (7-65, 4-6, 6-2) à celui la (7-6, 4-6, 6-2) ?

Sachant que j'ai des résultats sur bcp de ligne et que le nombre ne se trouve jamais à la même place. Autre exemple (2-6, 7-64, 6-2) à transformer en (2-6, 7-6, 6-2).

Merci :).

7 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    S'il s'agit de remplacer tous les 61, 62 , 63 etc par 6, formule enB2 :
    =SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A2;60;6);61;6);62;6);63;6);64;6);65;6);66;6);67;6);68;6);69;9)

    Cdlmnt
    Via
    1
  2. brucine Messages postés 24860 Date d'inscription   Statut Membre Dernière intervention   4 171
     
    Bonjour,

    Pas compris: si une cellule contient 7-65, ce ne peut être un nombre, c'est un texte, restant à savoir si la valeur à tronquer (par exemple 65) se trouve forcément à droite du tiret ou peut aussi se trouver avant.
    0
  3. Utilisateur anonyme
     
    Bonjour
    Le soucis c'est que cela n'est pas vraiment des nombres...
    Vous voulez limiter l'affichage à un seul chiffre avant ou après le tiret, il faut "éclater" en 3 morceaux, c'est à dire : 1 avant le tiret, 2 le tiret, 3 après le tiret
    Réduire le morceau 1 et 3 à un seul chiffre (sur quel critère ?) puis re-concaténer les 3 morceaux...

    Difficile à réaliser tel quel, vous pourriez nous poster ici (avec cjoint.com) un modèle de votre document excel ? Sans données privées SVP !!

    A+
    0
  4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    en vba

    Faire alt F11 pour accéder à l'éditeur
    insérer un module et mettre ce code:

    Option Explicit
    Sub For_X_to_Next_Ligne()'lancer la boucle
    Dim FL1 As Worksheet, NoCol As Integer
    Dim NoLig As Long, Var As Variant
        Set FL1 = Worksheets("Feuil1")
        NoCol = 1 'lecture de la colonne A
        For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
            Var = FL1.Cells(NoLig, NoCol)
           extractionMots (NoLig)
        Next
        Set FL1 = Nothing
    End Sub
    'Extraire les données séparées par un ", " dans une chaine de caractères
    Sub extractionMots(ByVal ligne As Long)
        Dim Tableau() As String
        Dim i As Integer
        Dim mot As String
        Dim reste As String
        Dim chaine As String
        chaine = Range("A" & ligne).Value
        'découpe la chaine en fonction des ", "
        'le résultat de la fonction Split est stocké dans un tableau
        Tableau = Split(chaine, ", ")
        'boucle sur le tableau pour visualiser le résultat
        For i = 0 To UBound(Tableau)
            'Le résultat s'affiche dans la fenêtre d'exécution de l'éditeur de macros
            'Debug.Print Tableau(i)
          If Len(Tableau(i)) > 3 Then
          mot = Tableau(i)
        End If
        Next i
        reste = Left(mot, Len(mot) - 1)
        Range("B" & ligne) = Replace(chaine, mot, reste)
    End Sub
    


    a adapter, les données sont dans la Feuille1 et colonne A et seront affichées colonne B corrigées
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. youyou
     
    Bonjour à tous,

    Merci pour vos retour. Ci-dessous un lien vers un ficher test :

    https://www.cjoint.com/c/KLvp4rG4g1g

    La macro fonctionne bien mais je suis google sheet et si possible je préférais une solution avec formule ^^.

    La valeur peut se trouver indépendamment à droite ou à gauche du tiret. Je ne suis pas limiter par rapport au colonne si il faut les éclater.
    0
    1. Alfred-33
       
      Bonsoir,
      D'où viennent ces chiffres, (6-3, 7-64, 6-0 etc.) que représentent-ils ?
      Cordialement.
      0
      1. youyou > Alfred-33
         
        Ce sont des résultats de match de tennis.
        0
      2. Alfred-33 > youyou
         
        Et vous les obtenez comment ? Par téléchargement ?
        0
      3. youyou > Alfred-33
         
        Via la fonction importhtml de googlesheet (d'un site internet).
        0
      4. Alfred-33 > youyou
         
        Ok. Merci.
        0
  7. youyou
     
    Chapeau, je connaissais pas cette fonction :). Je demande du rab à tous hasard, est-il possible d'additionner tous les chiffres contenus dans une seule cellule ? ou dois-je forcement séparer chaque valeur dans une cellule distincte ?

    Merci.
    0
  8. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    Quels chiffres veut tu additionner ? je ne saisis pas, donne un exemple

    Ensuite, comme on te l'a déjà dit, ce ne sont pas des chiffres ou des nombres mais du texte donc il faut d'abord extraire ce qui doit être considéré comme un chiffre et convertir en nombre, exemple avec 7-6 en B2, = CNUM(GAUCHE(B2;1)) pour obtenir le chiffre 7 qui sera additionnable avec ce que tu veux

    Cdlmnt
    Via
    0