concatener tout particulièrement, comment faire ?

Le
jipeache
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
René Delcourt
Le #6406721
Salut,
C'est tout simple :
= "tout" & "particulièrement"
:-)

En attendant une réponse à mon appel au secours, j'ai pondu un truc pas très
joli mais qui marche.
Il y a certainement un de nos experts qui se penchera sur ce problème par VBA

http://cjoint.com/?ezpVtIW0T1

--
René Delcourt



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



Ellimac
Le #6407071
Bonjour,

¡&" "&DROITE(B1;4)

Camille

"jipeache"
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
Philippe.R
Le #6409131
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" 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
Sam
Le #6410521
Bonjour,
oui ce fut aussi pour moi une piste de recherche : trouver le "pour" suivi
du retour CAR(10) ou le "en" suivi du CAR(10)
mais ce format ne semble pas être respecté pour la dernière date.

Il faudrait le faire sur plusieurs colonnes :
- trouver la fin des "pour" et "en" suivis de CAR(10) de A en supposant 4 ou
5 existences de ces termes (sur 5 colonnes)
- isoler les dates de B (sur 5 colonnes)
- mettre chaque date derrière chaque fin de "pour" ou "en" (sur 5 colonnes -
la dernière étant le résultat)
en gérant les conditions existence de ces éléments.

J'ai abandonné cette recherche, j'ai d'autres urgences.
Cordialement
Michel

"Philippe.R"
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" 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


PMO
Le #6413001
Bonjour,

Une piste, en VBA, avec le code suivant à copier dans un module standard.

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
Sam
Le #6414261
Bonjour,
la réponse est en colonne N sur le tableau
http://cjoint.com/?eAuXiyndeu
Cordialement
Michel

"jipeache"
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
jipeache
Le #6422851
On 26 avr, 18:23, PMO <patrickPOINTmorangeAROBASElapostePOINTnet>
wrote:
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,
Merci beaucoup pour la macro qui fonctionne (PMO).
j'ai des soucis mais en fait j'ai compris enfin que pour aligner ses
dates la personne qui a saisi a utilisé soit le retour dans la cellule
soit parfois un alignement bas dans la cellule...
le joyeux bordel quoi.
Je reprends tout ça et utiliserai cette macro efficace (pour l'instant
dans environ la moitié des cas de ce tableau vraiment foireux).
merci encore
Pour les autres réponses, j'ai testé sans succès, peut-être à caus e du
tableau bizarre, et certainement à cause de mes connaissances limitées
pour peaufiner les pistes indiquées.
Merci à tous

Sam
Le #6423411
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

Bonjour,
Merci beaucoup pour la macro qui fonctionne (PMO).
j'ai des soucis mais en fait j'ai compris enfin que pour aligner ses
dates la personne qui a saisi a utilisé soit le retour dans la cellule
soit parfois un alignement bas dans la cellule...
le joyeux bordel quoi.
Je reprends tout ça et utiliserai cette macro efficace (pour l'instant
dans environ la moitié des cas de ce tableau vraiment foireux).
merci encore
Pour les autres réponses, j'ai testé sans succès, peut-être à cause du
tableau bizarre, et certainement à cause de mes connaissances limitées
pour peaufiner les pistes indiquées.
Merci à tous
jipaih
Le #6425411
"Sam" 4815b94f$0$906$

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

J'ai testé aussi cette solution, qui fonctionne également, juste après ma
1ere réponse (du boulot ; là j'écris du domicile)
Il y a aussi quelques problèmes, sans doute dus à l'incohérence du fichier
lui-même, mais globalement elle fonctionne.
Je crois qu'avec un "mix" des 2, je devrais arriver à combler les petites
erreurs de l'une ou l'autre pour arriver à un résultat satisfaisant.
La personne qui a (mal) saisi ce fichier se chargera des contrôles, ce sera
sa punition ;-)
Merci encore, car de toutes façons, ces solutions me re-serviront, car j'ai
relativement souvent ce type de soucis avec des fichiers "mal" saisis, à
réimporter dans un autre logiciel très pointilleux sur la forme...
jp

Publicité
Poster une réponse
Anonyme