Bonjour,
j'ai un tableau de plus de 6000 lignes contenant en col F et G des
données très mal saisies que je dois remettre en forme selon l'exemple
joint qui reprend les différents cas existants (col A et B) et ce que
je souhaite obtenir (col D) ici : http://cjoint.com/?ezo4EAxUln.
Quelqu'un aurait-il une astuce ?
Merci d'avance
jp
Bonjour,
j'ai un tableau de plus de 6000 lignes contenant en col F et G des
données très mal saisies que je dois remettre en forme selon l'exemple
joint qui reprend les différents cas existants (col A et B) et ce que
je souhaite obtenir (col D) ici : http://cjoint.com/?ezo4EAxUln.
Quelqu'un aurait-il une astuce ?
Merci d'avance
jp
Bonjour,
j'ai un tableau de plus de 6000 lignes contenant en col F et G des
données très mal saisies que je dois remettre en forme selon l'exemple
joint qui reprend les différents cas existants (col A et B) et ce que
je souhaite obtenir (col D) ici : http://cjoint.com/?ezo4EAxUln.
Quelqu'un aurait-il une astuce ?
Merci d'avance
jp
Bonsoir,
Un début de piste, à travailler :
=SUBSTITUE(SI(ESTERR(TROUVE(CAR(10);A1));A1&"
"&B1;GAUCHE(A1;TROUVE(CAR(10);A1)-1)&SI(GAUCHE(B1;1)ÊR(10);"";GAUCHE(B1;TROUVE(CAR(10);B1)-1))&"
;
"&DROITE(GAUCHE(A1;TROUVE(CAR(10);A1;TROUVE(CAR(10);A1)+1)-1);NBCAR(GAUCHE(A1;TROUVE(CAR(10);A1;TROUVE(CAR(10);A1)+1)-1))-NBCAR(GAUCHE(A1;TROUVE(CAR(10);A1)))))&SI(GAUCHE(B1;2)ÊR(10);"";GAUCHE(B1;TROUVE(CAR(10);B1;2)-1));CAR(10);"
")
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"jipeache" a écrit dans le message de
news:
Bonjour,
j'ai un tableau de plus de 6000 lignes contenant en col F et G des
données très mal saisies que je dois remettre en forme selon l'exemple
joint qui reprend les différents cas existants (col A et B) et ce que
je souhaite obtenir (col D) ici : http://cjoint.com/?ezo4EAxUln.
Quelqu'un aurait-il une astuce ?
Merci d'avance
jp
Bonsoir,
Un début de piste, à travailler :
=SUBSTITUE(SI(ESTERR(TROUVE(CAR(10);A1));A1&"
"&B1;GAUCHE(A1;TROUVE(CAR(10);A1)-1)&SI(GAUCHE(B1;1)ÊR(10);"";GAUCHE(B1;TROUVE(CAR(10);B1)-1))&"
;
"&DROITE(GAUCHE(A1;TROUVE(CAR(10);A1;TROUVE(CAR(10);A1)+1)-1);NBCAR(GAUCHE(A1;TROUVE(CAR(10);A1;TROUVE(CAR(10);A1)+1)-1))-NBCAR(GAUCHE(A1;TROUVE(CAR(10);A1)))))&SI(GAUCHE(B1;2)ÊR(10);"";GAUCHE(B1;TROUVE(CAR(10);B1;2)-1));CAR(10);"
")
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"jipeache" <jipeache@gmail.com> a écrit dans le message de
news:0ebf7140-0c17-477f-8e20-35362b073c44@f63g2000hsf.googlegroups.com...
Bonjour,
j'ai un tableau de plus de 6000 lignes contenant en col F et G des
données très mal saisies que je dois remettre en forme selon l'exemple
joint qui reprend les différents cas existants (col A et B) et ce que
je souhaite obtenir (col D) ici : http://cjoint.com/?ezo4EAxUln.
Quelqu'un aurait-il une astuce ?
Merci d'avance
jp
Bonsoir,
Un début de piste, à travailler :
=SUBSTITUE(SI(ESTERR(TROUVE(CAR(10);A1));A1&"
"&B1;GAUCHE(A1;TROUVE(CAR(10);A1)-1)&SI(GAUCHE(B1;1)ÊR(10);"";GAUCHE(B1;TROUVE(CAR(10);B1)-1))&"
;
"&DROITE(GAUCHE(A1;TROUVE(CAR(10);A1;TROUVE(CAR(10);A1)+1)-1);NBCAR(GAUCHE(A1;TROUVE(CAR(10);A1;TROUVE(CAR(10);A1)+1)-1))-NBCAR(GAUCHE(A1;TROUVE(CAR(10);A1)))))&SI(GAUCHE(B1;2)ÊR(10);"";GAUCHE(B1;TROUVE(CAR(10);B1;2)-1));CAR(10);"
")
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"jipeache" a écrit dans le message de
news:
Bonjour,
j'ai un tableau de plus de 6000 lignes contenant en col F et G des
données très mal saisies que je dois remettre en forme selon l'exemple
joint qui reprend les différents cas existants (col A et B) et ce que
je souhaite obtenir (col D) ici : http://cjoint.com/?ezo4EAxUln.
Quelqu'un aurait-il une astuce ?
Merci d'avance
jp
Bonjour,
Une piste, en VBA, avec le code suivant à copier dans un module standar d.
Je me suis référé à votre classeur sur Cjoint.com mais j'ai
traité les colonnes F:G (comme précisées d'en votre demande)
plutôt que les colonnes A:B de ce classeur. Le traitement
commence en ligne 1.
Il est, par conséquent, IMPERATIF que les données soient en
colonnes F:G et qu'elles commencent en ligne 1.
Le résultat s'affichera en colonne A d'une nouvelle feuille.
'****************
Sub ConcatPMO()
Dim nbLig&
Dim T$()
Dim var
Dim i&
Dim A$
Dim monText$
Dim maDate$
Dim x%
Dim y%
nbLig& = [f65536].End(xlUp).Row
ReDim T$(1 To nbLig&, 1 To 1)
var = Range("f1:g" & nbLig& & "")
For i& = 1 To nbLig&
A$ = ""
monText$ = var(i&, 1)
maDate$ = var(i&, 2)
Do Until monText$ = ""
If A$ <> "" And Right(A$, 2) <> ". " _
And Left(monText$, 1) <> "(" Then _
A$ = A$ & "; "
x% = InStr(1, monText$, Chr(10))
If x% > 1 Then
A$ = A$ & Mid(monText$, 1, x% - 1)
Else
A$ = A$ & monText$
End If
If Right(A$, 7) = "unique)" Then A$ = A$ & "."
A$ = A$ & Space(1)
monText$ = Mid(monText$, x% + 1)
If x% = 0 Then monText$ = ""
y% = InStr(1, maDate$, Chr(10))
If y% > 1 Then
A$ = A$ & Mid(maDate$, 1, y% - 1) & Space(1)
ElseIf y% = 0 Then
A$ = A$ & maDate$ & Space(1)
End If
maDate$ = Mid(maDate$, y% + 1)
If y% = 0 Then maDate$ = ""
Loop
T$(i&, 1) = Trim(A$)
Next i&
Sheets.Add
Range("a1:a" & nbLig& & "") = T$
End Sub
'****************
Cordialement.
PMO
Patrick Morange
Bonjour,
Une piste, en VBA, avec le code suivant à copier dans un module standar d.
Je me suis référé à votre classeur sur Cjoint.com mais j'ai
traité les colonnes F:G (comme précisées d'en votre demande)
plutôt que les colonnes A:B de ce classeur. Le traitement
commence en ligne 1.
Il est, par conséquent, IMPERATIF que les données soient en
colonnes F:G et qu'elles commencent en ligne 1.
Le résultat s'affichera en colonne A d'une nouvelle feuille.
'****************
Sub ConcatPMO()
Dim nbLig&
Dim T$()
Dim var
Dim i&
Dim A$
Dim monText$
Dim maDate$
Dim x%
Dim y%
nbLig& = [f65536].End(xlUp).Row
ReDim T$(1 To nbLig&, 1 To 1)
var = Range("f1:g" & nbLig& & "")
For i& = 1 To nbLig&
A$ = ""
monText$ = var(i&, 1)
maDate$ = var(i&, 2)
Do Until monText$ = ""
If A$ <> "" And Right(A$, 2) <> ". " _
And Left(monText$, 1) <> "(" Then _
A$ = A$ & "; "
x% = InStr(1, monText$, Chr(10))
If x% > 1 Then
A$ = A$ & Mid(monText$, 1, x% - 1)
Else
A$ = A$ & monText$
End If
If Right(A$, 7) = "unique)" Then A$ = A$ & "."
A$ = A$ & Space(1)
monText$ = Mid(monText$, x% + 1)
If x% = 0 Then monText$ = ""
y% = InStr(1, maDate$, Chr(10))
If y% > 1 Then
A$ = A$ & Mid(maDate$, 1, y% - 1) & Space(1)
ElseIf y% = 0 Then
A$ = A$ & maDate$ & Space(1)
End If
maDate$ = Mid(maDate$, y% + 1)
If y% = 0 Then maDate$ = ""
Loop
T$(i&, 1) = Trim(A$)
Next i&
Sheets.Add
Range("a1:a" & nbLig& & "") = T$
End Sub
'****************
Cordialement.
PMO
Patrick Morange
Bonjour,
Une piste, en VBA, avec le code suivant à copier dans un module standar d.
Je me suis référé à votre classeur sur Cjoint.com mais j'ai
traité les colonnes F:G (comme précisées d'en votre demande)
plutôt que les colonnes A:B de ce classeur. Le traitement
commence en ligne 1.
Il est, par conséquent, IMPERATIF que les données soient en
colonnes F:G et qu'elles commencent en ligne 1.
Le résultat s'affichera en colonne A d'une nouvelle feuille.
'****************
Sub ConcatPMO()
Dim nbLig&
Dim T$()
Dim var
Dim i&
Dim A$
Dim monText$
Dim maDate$
Dim x%
Dim y%
nbLig& = [f65536].End(xlUp).Row
ReDim T$(1 To nbLig&, 1 To 1)
var = Range("f1:g" & nbLig& & "")
For i& = 1 To nbLig&
A$ = ""
monText$ = var(i&, 1)
maDate$ = var(i&, 2)
Do Until monText$ = ""
If A$ <> "" And Right(A$, 2) <> ". " _
And Left(monText$, 1) <> "(" Then _
A$ = A$ & "; "
x% = InStr(1, monText$, Chr(10))
If x% > 1 Then
A$ = A$ & Mid(monText$, 1, x% - 1)
Else
A$ = A$ & monText$
End If
If Right(A$, 7) = "unique)" Then A$ = A$ & "."
A$ = A$ & Space(1)
monText$ = Mid(monText$, x% + 1)
If x% = 0 Then monText$ = ""
y% = InStr(1, maDate$, Chr(10))
If y% > 1 Then
A$ = A$ & Mid(maDate$, 1, y% - 1) & Space(1)
ElseIf y% = 0 Then
A$ = A$ & maDate$ & Space(1)
End If
maDate$ = Mid(maDate$, y% + 1)
If y% = 0 Then maDate$ = ""
Loop
T$(i&, 1) = Trim(A$)
Next i&
Sheets.Add
Range("a1:a" & nbLig& & "") = T$
End Sub
'****************
Cordialement.
PMO
Patrick Morange
Bonjour,
ah zut, moi qui croyais avoir trouvé la bonne solution ! ;-)
mais je n'avais peut être pas mis le mode d'emploi :
- copier les colonnes F et G du tableau d'origine en colonnes A et B de
mon tableau
- étendre les formules de la ligne 4 colonnes D à R à toutes les lignes
- puis copier la colonne N et coller via "collage spécial valeur" dans la
colonne qui va bien du tableau d'origine
Cordialement
Michel
Re-bonjour
Bonjour,
ah zut, moi qui croyais avoir trouvé la bonne solution ! ;-)
mais je n'avais peut être pas mis le mode d'emploi :
- copier les colonnes F et G du tableau d'origine en colonnes A et B de
mon tableau
- étendre les formules de la ligne 4 colonnes D à R à toutes les lignes
- puis copier la colonne N et coller via "collage spécial valeur" dans la
colonne qui va bien du tableau d'origine
Cordialement
Michel
Re-bonjour
Bonjour,
ah zut, moi qui croyais avoir trouvé la bonne solution ! ;-)
mais je n'avais peut être pas mis le mode d'emploi :
- copier les colonnes F et G du tableau d'origine en colonnes A et B de
mon tableau
- étendre les formules de la ligne 4 colonnes D à R à toutes les lignes
- puis copier la colonne N et coller via "collage spécial valeur" dans la
colonne qui va bien du tableau d'origine
Cordialement
Michel
Re-bonjour