Merci
J'ai oublié de préciser une solution vba, si je ne trouve pas, je passerai
par les formules
merci
Le 16/01/2010 11:44, Silve Hervé a écrit :Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" a écrit dans le message de
news:4b513b0e$0$971$
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la colonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retrouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soit
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Merci
J'ai oublié de préciser une solution vba, si je ne trouve pas, je passerai
par les formules
merci
Le 16/01/2010 11:44, Silve Hervé a écrit :
Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" <pgjignorez@wanadoo.fr> a écrit dans le message de
news:4b513b0e$0$971$ba4acef3@news.orange.fr...
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la colonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retrouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soit
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Merci
J'ai oublié de préciser une solution vba, si je ne trouve pas, je passerai
par les formules
merci
Le 16/01/2010 11:44, Silve Hervé a écrit :Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" a écrit dans le message de
news:4b513b0e$0$971$
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la colonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retrouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soit
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" a écrit dans le message de
news:4b513b0e$0$971$
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la colonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retrouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soit
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" <pgjignorez@wanadoo.fr> a écrit dans le message de
news:4b513b0e$0$971$ba4acef3@news.orange.fr...
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la colonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retrouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soit
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" a écrit dans le message de
news:4b513b0e$0$971$
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la colonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retrouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soit
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12,
soit 14 de différence.
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour le n°
de la semaine, le reste pouvant être inscrit en "dur" dans le colonnes,
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12,
soit 14 de différence.
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour le n°
de la semaine, le reste pouvant être inscrit en "dur" dans le colonnes,
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12,
soit 14 de différence.
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour le n°
de la semaine, le reste pouvant être inscrit en "dur" dans le colonnes,
Une autre approche
résolu
intéressant la fonction
Une autre approche
résolu
intéressant la fonction
Une autre approche
résolu
intéressant la fonction
Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3) )
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(" :";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("s oit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai p as
plus approfondie.
Hervé.
"PST" a écrit dans le message de
news:4b513b0e$0$971$
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la col onne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retro uve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soi t
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3) )
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(" :";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("s oit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai p as
plus approfondie.
Hervé.
"PST" <pgjignorez@wanadoo.fr> a écrit dans le message de
news:4b513b0e$0$971$ba4acef3@news.orange.fr...
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la col onne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retro uve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soi t
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3) )
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE(" :";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE("s oit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques et pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans le
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai p as
plus approfondie.
Hervé.
"PST" a écrit dans le message de
news:4b513b0e$0$971$
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la col onne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retro uve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, soi t
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
En VBA :
Sub Decouper()
Dim Texte As String
Dim A As String
Dim B As String
Dim C As String
Dim D As String
Dim E As String
Dim F As String
Dim G As String
Dim H As String
Dim I As String
Texte = "La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_T TC:
12, soit 14 de différence."
A = Left(Texte, InStr(Texte, "(") - 2)
B = Mid(Texte, InStr(Texte, "(") + 1, InStr(Texte, ")") - InStr(Texte ,
"(") - 1)
C = Mid(Texte, InStr(Texte, "Montant_HT"), Len("Montant_HT"))
D = Mid(Texte, InStr(Texte, ":") + 2, InStr(Texte, "Montant_TTC") -
(InStr(Texte, ":") + 3))
E = Mid(Texte, InStr(Texte, "Montant_TTC"), Len("Montant_TTC"))
F = Mid(Texte, InStr(InStr(Texte, ":") + 1, Texte, ":") + 2,
InStr(Texte, "soit") - InStr(InStr(Texte, ":") + 1, Texte, ":") - 4)
G = Mid(Texte, InStr(Texte, "soit"), Len("soit"))
H = Mid(Texte, InStr(Texte, "soit") + Len("soit") + 1, InStr(Texte,
"de") - (InStr(Texte, "soit") + Len("soit") + 2))
I = Right(Texte, Len(Texte) + 1 - InStr(Texte, "de"))
Debug.Print A
Debug.Print B
Debug.Print C
Debug.Print D
Debug.Print E
Debug.Print F
Debug.Print G
Debug.Print H
Debug.Print I
End Sub
Hervé.
"PST" a écrit dans le message de
news:4b519ac6$0$17516$
Merci
J'ai oublié de préciser une solution vba, si je ne trouve pas, je
passerai par les formules
merci
Le 16/01/2010 11:44, Silve Hervé a écrit :Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3 ))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE( ":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE(" soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques e t pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans l e
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" a écrit dans le message de
news:4b513b0e$0$971$
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la co lonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retr ouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, so it
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
En VBA :
Sub Decouper()
Dim Texte As String
Dim A As String
Dim B As String
Dim C As String
Dim D As String
Dim E As String
Dim F As String
Dim G As String
Dim H As String
Dim I As String
Texte = "La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_T TC:
12, soit 14 de différence."
A = Left(Texte, InStr(Texte, "(") - 2)
B = Mid(Texte, InStr(Texte, "(") + 1, InStr(Texte, ")") - InStr(Texte ,
"(") - 1)
C = Mid(Texte, InStr(Texte, "Montant_HT"), Len("Montant_HT"))
D = Mid(Texte, InStr(Texte, ":") + 2, InStr(Texte, "Montant_TTC") -
(InStr(Texte, ":") + 3))
E = Mid(Texte, InStr(Texte, "Montant_TTC"), Len("Montant_TTC"))
F = Mid(Texte, InStr(InStr(Texte, ":") + 1, Texte, ":") + 2,
InStr(Texte, "soit") - InStr(InStr(Texte, ":") + 1, Texte, ":") - 4)
G = Mid(Texte, InStr(Texte, "soit"), Len("soit"))
H = Mid(Texte, InStr(Texte, "soit") + Len("soit") + 1, InStr(Texte,
"de") - (InStr(Texte, "soit") + Len("soit") + 2))
I = Right(Texte, Len(Texte) + 1 - InStr(Texte, "de"))
Debug.Print A
Debug.Print B
Debug.Print C
Debug.Print D
Debug.Print E
Debug.Print F
Debug.Print G
Debug.Print H
Debug.Print I
End Sub
Hervé.
"PST" <pgjignorez@wanadoo.fr> a écrit dans le message de
news:4b519ac6$0$17516$ba4acef3@news.orange.fr...
Merci
J'ai oublié de préciser une solution vba, si je ne trouve pas, je
passerai par les formules
merci
Le 16/01/2010 11:44, Silve Hervé a écrit :
Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3 ))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE( ":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE(" soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques e t pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans l e
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" <pgjignorez@wanadoo.fr> a écrit dans le message de
news:4b513b0e$0$971$ba4acef3@news.orange.fr...
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la co lonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retr ouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, so it
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
En VBA :
Sub Decouper()
Dim Texte As String
Dim A As String
Dim B As String
Dim C As String
Dim D As String
Dim E As String
Dim F As String
Dim G As String
Dim H As String
Dim I As String
Texte = "La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_T TC:
12, soit 14 de différence."
A = Left(Texte, InStr(Texte, "(") - 2)
B = Mid(Texte, InStr(Texte, "(") + 1, InStr(Texte, ")") - InStr(Texte ,
"(") - 1)
C = Mid(Texte, InStr(Texte, "Montant_HT"), Len("Montant_HT"))
D = Mid(Texte, InStr(Texte, ":") + 2, InStr(Texte, "Montant_TTC") -
(InStr(Texte, ":") + 3))
E = Mid(Texte, InStr(Texte, "Montant_TTC"), Len("Montant_TTC"))
F = Mid(Texte, InStr(InStr(Texte, ":") + 1, Texte, ":") + 2,
InStr(Texte, "soit") - InStr(InStr(Texte, ":") + 1, Texte, ":") - 4)
G = Mid(Texte, InStr(Texte, "soit"), Len("soit"))
H = Mid(Texte, InStr(Texte, "soit") + Len("soit") + 1, InStr(Texte,
"de") - (InStr(Texte, "soit") + Len("soit") + 2))
I = Right(Texte, Len(Texte) + 1 - InStr(Texte, "de"))
Debug.Print A
Debug.Print B
Debug.Print C
Debug.Print D
Debug.Print E
Debug.Print F
Debug.Print G
Debug.Print H
Debug.Print I
End Sub
Hervé.
"PST" a écrit dans le message de
news:4b519ac6$0$17516$
Merci
J'ai oublié de préciser une solution vba, si je ne trouve pas, je
passerai par les formules
merci
Le 16/01/2010 11:44, Silve Hervé a écrit :Bonjour,
pour "La presse du dimanche"
=GAUCHE(A1;TROUVE("(";A1)-2)
pour "En semaine " et le numéro (7 dans l'exemple)
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
pour "Montant_HT"
=STXT(A1;TROUVE("Montant_HT";A1);NBCAR("Montant_HT"))
pour la valeur du montant HT (2 dans l'exemple)
=STXT(A1;TROUVE(":";A1)+2;TROUVE("Montant_TTC";A1)-(TROUVE(":";A1)+3 ))
pour "Montant_TTC"
=STXT(A1;TROUVE("Montant_TTC";A1);NBCAR("Montant_TTC"))
pour la valeur du montant TTC (14 dans l'exemple)
=STXT(A1;TROUVE(":";A1;TROUVE(":";A1)+1)+2;TROUVE("soit";A1)-TROUVE( ":";A1;TROUVE(":";A1)+1)-4)
pour "soit"
=STXT(A1;TROUVE("soit";A1);NBCAR("soit"))
pour la différence
=STXT(A1;TROUVE("soit";A1)+NBCAR("soit")+1;TROUVE("de";A1)-(TROUVE(" soit";A1)+NBCAR("soit")+2))
pour "de différence."
=DROITE(A1;NBCAR(A1)+1-TROUVE("de";A1))
Je pense que ceci n'a d'intérêt que pour les valeur numériques e t pour
le n° de la semaine, le reste pouvant être inscrit en "dur" dans l e
colonnes, à toi de voir. Il est possible de simplifier mais je n'ai pas
plus approfondie.
Hervé.
"PST" a écrit dans le message de
news:4b513b0e$0$971$
Bonjour
Je cherche à décomposer ce type de chaine qui se trouve dans la co lonne
A sur environ 500 lignes.
J'ai essayé avec données convertir puis avec split mais je me retr ouve
toujours avec des erreurs.
Pas faute d'avoir essayé
merci
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12, so it
14 de différence.
Résultat recherché dans des colonnes séparées:
La presse du dimanche (
En semaine 7
Montant_HT
2
Montant_TTC
12
soit
14
de différence.
Bonsour® PST avec ferveur ;o))) vous nous disiez :Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12,
soit 14 de différence.
Silve Hervé à répondu :Je pense que ceci n'a d'intérêt que pour les valeur numériques e t pour le n°
de la semaine, le reste pouvant être inscrit en "dur" dans le colonn es,
;o)))
sous réserve que tous les enregistrements soient du même type
ET
qu'il y ait toujours 4 groupes de chiffres(sans décimale)
alors
il suffira ensuite de répartir via la fonction SPLIT
Function numseuls(target) As String
dim x as string, y as string
x = ""
For i = 1 To Len(target)
y = Mid(target, i, 1)
x = x& IIf(IsNumeric(y), y, " ")
Next
numseuls = Application.Trim(x)
End Function
Bonsour® PST avec ferveur ;o))) vous nous disiez :
Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12,
soit 14 de différence.
Silve Hervé à répondu :
Je pense que ceci n'a d'intérêt que pour les valeur numériques e t pour le n°
de la semaine, le reste pouvant être inscrit en "dur" dans le colonn es,
;o)))
sous réserve que tous les enregistrements soient du même type
ET
qu'il y ait toujours 4 groupes de chiffres(sans décimale)
alors
il suffira ensuite de répartir via la fonction SPLIT
Function numseuls(target) As String
dim x as string, y as string
x = ""
For i = 1 To Len(target)
y = Mid(target, i, 1)
x = x& IIf(IsNumeric(y), y, " ")
Next
numseuls = Application.Trim(x)
End Function
Bonsour® PST avec ferveur ;o))) vous nous disiez :Dans la colonne A
La presse du dimanche (En semaine 7) Montant_HT: 2 Montant_TTC: 12,
soit 14 de différence.
Silve Hervé à répondu :Je pense que ceci n'a d'intérêt que pour les valeur numériques e t pour le n°
de la semaine, le reste pouvant être inscrit en "dur" dans le colonn es,
;o)))
sous réserve que tous les enregistrements soient du même type
ET
qu'il y ait toujours 4 groupes de chiffres(sans décimale)
alors
il suffira ensuite de répartir via la fonction SPLIT
Function numseuls(target) As String
dim x as string, y as string
x = ""
For i = 1 To Len(target)
y = Mid(target, i, 1)
x = x& IIf(IsNumeric(y), y, " ")
Next
numseuls = Application.Trim(x)
End Function