[VBA] Excel - Décomposition contenu cellule

Résolu
Bonjour,

J'aimerai savoir s'il est possible (surement..) de décomposer le contenu d'une cellule..

Mon exemple.

Dans ma cellule il est écrit 401_F, j'aimerai avoir que ce qu'il y'a avant le "_". c'est à dire 401..
Si c'était écrit 123+456_F, j'aimerai 123+456
Et si c'était écrit 123 (pas de "_"), je veux garder 123.

Est-ce qu'il y a une fonction qui me le permet?

Bonne journée :)
Configuration: Windows XP
Firefox 2.0.0.14

4 réponses

  1. Contributeur
    Oui, pas de problème,

    j'avais pa vu qu'il s'agissait de VBA, décidément j'ai répondu trop vite.

    Par contre il faut tester si Indice donne un résultat nul (pas de "_") pour renvoyer la chaine entière selon le souhait de saian-sugus.

    A+
    1. Contributeur
      Bonjour,

      J'ai répondu un peu vite, ma formule ne marche que si il ya un "_" et il vaut miaux l'écrire :

      =GAUCHE(D20;CHERCHE("_";D20;1)-1)


      pour que le "_" ne soit pas dans le résultat mais la solution de Freto en VBA est bonne

      Cordialement,
      1. Heuuu ...tu es sur pour le -1 de l'indice?? parce que auquel cas, ma solution comporte une erreur.
        Bon à 1 près, je pense qu'il s'en apercevra ^^
    2. Contributeur
      Bonjour,

      Je suggére d'utiliser la formule suivante:

      =GAUCHE(D20;CHERCHE("_";D20;1))


      dans cet exemple c'est la cellule D20 qui est testée. La fonction CHERCHE est la pour trouver le rang du caractére "_" et la fonction GAUCHE raméne la chaine du premier caratére à gauche jusqu'au rang du "_"

      Cordialement,

      A+
      1. Valable sur une feuille de calcul excel...pas en vba
        Mais bon, au moins il y a les deux solutions
    3. Essaie sa
      Dim indice as Integer
      Dim chaine as String
      ...
      'la tu fait ce que tu veut
      indice=InStr(chaine,"_")  'récupère la position de "_" dans ta chaine de caractères
      MsgBox Left(chaine,indice)  'affiche ce que tu recherche, à savoir la partie gauche de ta chaine jusqu'à indice, donc jusqu'au "_"