[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. 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 "_"
    
    
    1
    1. 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
      1. Valable sur une feuille de calcul excel...pas en vba
        Mais bon, au moins il y a les deux solutions
        -1
    2. 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
      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 ^^
        -1
    3. 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