Rechercher : dans
Par :

[VBA] Excel - Décomposition contenu cellule

Dernière réponse le 12 sep 2008 à 15:33:35 saian-sugus, le 12 sep 2008 à 14:52:39 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [VBA] Excel Décomposition contenu cellule » dans :
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...

1

freto, le 12 sep 2008 à 15:02:07

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 "_"

What's tiny, and yellow and very very dangerous?????
A canary with the super-user password.
Mouhahahaha

Répondre à freto

2

pilas31, le 12 sep 2008 à 15:04:08

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+

Répondre à pilas31

3

freto, le 12 sep 2008 à 15:06:49

Valable sur une feuille de calcul excel...pas en vba
Mais bon, au moins il y a les deux solutions What's tiny, and yellow and very very dangerous?????
A canary with the super-user password.
Mouhahahaha

Répondre à freto

4

pilas31, le 12 sep 2008 à 15:08:54

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,

Répondre à pilas31

5

freto, le 12 sep 2008 à 15:10:53

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 ^^ What's tiny, and yellow and very very dangerous?????
A canary with the super-user password.
Mouhahahaha

Répondre à freto

6

 pilas31, le 12 sep 2008 à 15:33:35

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+

Répondre à pilas31