[VBA] Excel - Décomposition contenu cellule

Résolu
saian-sugus Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   -
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 :)

4 réponses

freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   646
 
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
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
Valable sur une feuille de calcul excel...pas en vba
Mais bon, au moins il y a les deux solutions
-1
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   646
 
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
freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   162
 
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
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   646
 
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