Extraire des caracteres d'une chaine

Riddick

XLDnaute Occasionnel
Bonjour à tous
Le forum

Désolé c'est tres simple mais je trouve pas la formule,

J'ai: Lun 20 Dec
et je veux: 20-Dec

il suffirai de prendre les 4 et 5eme caractere et concatener avec '-' et 7,8 et 9eme caracteres
Avec une macro...

Excusez de mon ignorance

:(

Merci
 

Gérard DEZAMIS

XLDnaute Accro
Bonjour Riddick

Si tes dates sont des nombres

20/12/2005 Format habituel
mar 20 déc Format cellule jjj jj mmm
20 - déc Format cellule jj - mmm

Mais parles-tu de ce que tu vois ou de ce qui est véritablement dans la zone de formule ?

Aujourd'hui nous somme 38455 (donnée de base pour les dates )

@+ GD
 

mutzik

XLDnaute Barbatruc
Bonjour Riddick,

Y'a^pas de mal à avouer son ignorance, je trouve même plutot que c'est une qualité. Tant de personnes ont peur de dire 'je ne sais pas'.

Bon, pour ton prob, tu fais click droit sur ta cellule, format de cellule, personnalisé et dans la case tu marques jj-mm qui te donneras ce que tu veux.

Pour infos sur les format de dates
jjj = jour en entier
jj =jour sur deux chiffres
j= jour sur un ou sur deux chiffres

idem pour m (mois) et a (année)

Fais des essais pour mieux comprendre
Tu peux combiner le tout
Par ex : jjj le jj mmm aa te donnera 'mercredi le 20 décembre 05'
 

JeanMarie

XLDnaute Barbatruc
Bonjour

Si la cellule contient la valeur numérique de la date, il suffit de modifier le format d'affichage de la cellule, comme ceci JJ-MMM

Si la valeur est alphanumérique, cette formule devrait te convenir
=SUBSTITUE(STXT(A1;CHERCHE(' ';A1)+1;15);' ';'-')

@+Jean-Marie

Message édité par: JeanMarie, à: 13/04/2005 12:59
 

Gérard DEZAMIS

XLDnaute Accro
Bonjour Mutzik
Je suis en décalage avec ton tempo, une mesure de retard :)

Re - Riddick
Bon jour JeanMarie

Pour ne pas Changer ! :eek:hmy: :eek:hmy: :eek:hmy:

2 fois plus de produit , 2 fois plus d'efficacité et 2 fois moins cher !

La formule à garder dans le panier de la ménagère !

@+ GD
 

Riddick

XLDnaute Occasionnel
Merci à tous et bonjour à vous

Désolé du temps de reponse un peu long mais... c'était la pause déjeuner... :p

En fait c'est un peu plus compliqué
Je dois tout faire avec des macros et les données que je traite vienne d'un 'shell' (requete) faite sur des bases de données sous UNIX.
la date arrive sous le format
lun 20 dec
et malheureusement il n'est pas reconnu comme une date
J'ai essayer de changer le format meme manuellement ca ne marche pas
j'ai essayer de la meme facon (en macro) avec
Columns('A:A').Select
Selection.NumberFormat = 'jj-mmm'
Ca ne marche pas non plus

je me suis dit qu'il me rester la solution de le traiter comme une chaine de caracteres de mettre dans une variable les 4 et 5è caractere
de meme pour les 7,8et9è et de concatener les deux variables
Enfin d'affecter a cette cellule le resultat

Merci a tous
En esperant avoir mieux exprimer ce que je recherche
 

Riddick

XLDnaute Occasionnel
encore merci a tous

ca ne s'adapte pas à mon bout de code ou je suis pas doué

Imaginons alors que j'ai:

'Vin Diesel' dans une case
et que je veux

variable1='Vi'
variable2='Di'

de maniere a ecrire Vidi
(Comme dans Veni, Vidi,Vici)lol
Comment feriez vous

Désolé si je deviens lourd
Riddick
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re

Je vois pas trop le rapport entre ta demande initiale sue les dates et celle-ci mais bon ....

Si j'adapte ce que je t'ai donné

Sub modifTexte()

Dim MonTexte() As String

MonTexte = Split(Range('A1'), ' ')

Range('A1') = Left(MonTexte(0), 2) & Left(MonTexte(1), 2)

End Sub
 

Riddick

XLDnaute Occasionnel
ok merci

j'ai trouvé aussi une solution
ca servira peut etre au gens qui rechercherons un fil sur le sujet plus tard

dim jour as string
dim mois as string
dim date as string
dim ligne as integer

jour = Mid(Worksheets(feuille).Cells(ligne, 1), 5, 2)
mois = Mid(Worksheets(feuille).Cells(ligne, 1), 8, 3)
date1 = jour & '-' & moi1

Worksheets(feuille).Cells(ligne,1)=date1

Mid(Cellule, index du 1er caractere désiré, longueur de la chaine desiré)


Voilà Merci a tous
Aplus....
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 581
Messages
2 089 916
Membres
104 306
dernier inscrit
Bouhlal