extraire données spécifiques d'une cellule

Le
jip
bonjour
dans plusieurs tableaux excel j'ai des données représentant des d=
imensions à extraire pour les relever.
exemple :

"Tracé de la route nationale 12 de Paris à Brest établie ent=
re 1745 et 1780 (voir Atlas de Trudaine). Au dos "Route royale n°12 de=
Paris à Brest. Première carte … Grande route …".=
$ Avant 1756 $ Don Sauvage, avocat à Angers, 1873 $ O. Ms. papier, en=
cre noir et rouge, sans échelle $ 105 x 51"

où je dois extraire 105 x 51

Parfois plusieurs dimensions dans la même cellule, comme :

Atlas : 53 x 31,5 x 2 ; tableau : 53 x 53 ; feuille : indiqué pour cha=
cune $ - "Plan d'assemblage de voiries urbaine de la commune de Routot". $ =
1- Place communale, Grande rue, place du Bourg ; 203 x 61,5 $ 2- Rue de la =
Mailleraye ; 170,5 x 30,1 $ 3- Rue de Caudebec ; 125,5 x 30,1 $ 4- Rue de R=
ougemontiers ; 149,2 x 30,1 $ 5- Rue de Hauville ; 163,5 x 30,1 $ 6- Rue du=
Clos Beaulieu ; 92,5 x 30,1 $ 7- Rue de La Mare Besnard ; 168 x 30,1 $ 8- =
Rue Taupin ; 51 x 30,1 $ 9- Chemin du Fossé Aubrée ; 161 x 30,1 $=
10- Ancien chemin aux Bœufs ; 87 x 30,1 $ 11- Rue Brasseresse ; 154 x=
30,10 $ - Légende des alignements, 4 pages recto-verso plus 1 page ; =
52 x 30,1

Parfois la mention cm figure après les chiffres :

Carte du département de l'Eure d'après l'ordre de Mr Rolland de C=
hambaudoin préfet. $ par Jainin $ 1808 $ gravée, limites en rouge=
. $ éch. en toises $ 45 x 35 cm

Comment faire pour avoir ces données facilement ?
Une idée ?
Merci d'avance
Cordialement.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
News.aioe.org
Le #26422461
Bonjour,
Afin de bien illustrer ce que tu veux faire, copie ce qui suit dans une
cellule d'une feuille de calcul et extrait ce que tu veux obtenir comme
résultat et la disposition de ces données que tu veux avoir dans les
cellules adjacentes. Utilise l'adresse "Cjoint.com" pour publier ce classeur
et retourne-nous l'adresse ici. Tu as plus de chances d'avoir des réponses!
'--------------------------------------
Atlas : 53 x 31,5 x 2 ; tableau : 53 x 53 ; feuille : indiqué pour chacune
$ - "Plan d'assemblage de voiries urbaine de la commune de Routot". $ 1-
Place communale, Grande rue, place du Bourg ; 203 x 61,5 $ 2- Rue de la
Mailleraye ; 170,5 x 30,1 $ 3- Rue de Caudebec ; 125,5 x 30,1 $ 4- Rue de
Rougemontiers ; 149,2 x 30,1 $ 5- Rue de Hauville ; 163,5 x 30,1 $ 6- Rue du
Clos Beaulieu ; 92,5 x 30,1 $ 7- Rue de La Mare Besnard ; 168 x 30,1 $ 8-
Rue Taupin ; 51 x 30,1 $ 9- Chemin du Fossé Aubrée ; 161 x 30,1 $ 10- Ancien
chemin aux Bœufs ; 87 x 30,1 $ 11- Rue Brasseresse ; 154 x 30,10 $ - Légende
des alignements, 4 pages recto-verso plus 1 page ; 52 x 30,1
'--------------------------------------
MichD
isabelle
Le #26422469
bonjour,
pour une première recherche tu pourrais utiliser cette formule en cellule B2 et
à recopier vers la droite,
=STXT($A2;CHERCHE("§";SUBSTITUE($A2;"x";"§";COLONNE()-1))-3;9)
mais ce n'est pas parfait, il faudra adapter avec les vrai données.
isabelle
Le 2017-01-05 à 10:43, jip a écrit :
bonjour dans plusieurs tableaux excel j'ai des données représentant des
dimensions à extraire pour les relever. exemple :
"Tracé de la route nationale 12 de Paris à Brest établie entre 1745 et 1780
(voir Atlas de Trudaine). Au dos "Route royale n°12 de Paris à Brest.
Première carte … Grande route …". $ Avant 1756 $ Don Sauvage, avocat à
Angers, 1873 $ O. Ms. papier, encre noir et rouge, sans échelle $ 105 x 51"
où je dois extraire 105 x 51
Parfois plusieurs dimensions dans la même cellule, comme :
Atlas : 53 x 31,5 x 2 ; tableau : 53 x 53 ; feuille : indiqué pour chacune $
- "Plan d'assemblage de voiries urbaine de la commune de Routot". $ 1- Place
communale, Grande rue, place du Bourg ; 203 x 61,5 $ 2- Rue de la Mailleraye
; 170,5 x 30,1 $ 3- Rue de Caudebec ; 125,5 x 30,1 $ 4- Rue de Rougemontiers
; 149,2 x 30,1 $ 5- Rue de Hauville ; 163,5 x 30,1 $ 6- Rue du Clos Beaulieu
; 92,5 x 30,1 $ 7- Rue de La Mare Besnard ; 168 x 30,1 $ 8- Rue Taupin ; 51 x
30,1 $ 9- Chemin du Fossé Aubrée ; 161 x 30,1 $ 10- Ancien chemin aux Bœufs ;
87 x 30,1 $ 11- Rue Brasseresse ; 154 x 30,10 $ - Légende des alignements, 4
pages recto-verso plus 1 page ; 52 x 30,1
Parfois la mention cm figure après les chiffres :
Carte du département de l'Eure d'après l'ordre de Mr Rolland de Chambaudoin
préfet. $ par Jainin $ 1808 $ gravée, limites en rouge. $ éch. en toises $ 45
x 35 cm
Comment faire pour avoir ces données facilement ? Une idée ? Merci d'avance
Cordialement.
jip
Le #26422483
à recopier vers la droite,
=STXT($A2;CHERCHE("§";SUBSTITUE($A2;"x";"§";COLONNE()-1))-3;9 )
mais ce n'est pas parfait, il faudra adapter avec les vrai données.

je vais tester, merci.
Sinon voici le lien pour voir un exemple.
http://www.cjoint.com/c/GAgjfbSEPqR
cordialement
Jacquouille
Le #26422488
Bonjour
Vu la densité de matière dans une seule cellule, je serais tenté d'orienter
mes recherches en positionnant tous les "x", puis extraire 3 ou 4 caractères
de part et d'autre de chaque x.
Pour ce faire, il "suffit" de chercher la position du premier "x", puis, à
partir de celui-ci, chercher le deuxième, .....
Mais je crains que tu aies une formule au moins aussi épaisse que les
données.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"jip" a écrit dans le message de groupe de discussion :

à recopier vers la droite,
=STXT($A2;CHERCHE("§";SUBSTITUE($A2;"x";"§";COLONNE()-1))-3;9)
mais ce n'est pas parfait, il faudra adapter avec les vrai données.

je vais tester, merci.
Sinon voici le lien pour voir un exemple.
http://www.cjoint.com/c/GAgjfbSEPqR
cordialement
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
News.aioe.org
Le #26422491
Une façon d'extraire ce que tu cherches avec une macro :
ton fichier incluant la macro : http://www.cjoint.com/c/GAgnlrvF8Yi
MichD
JièL
Le #26422493
Si je puis me permettre... pour éviter "in aux Bœu" en N2 il serait
peut-être souhaitable de rechercher non pas un "x" mais " x " (espace x
espace)... en espérant que le x soit toujours suivi et précédé d'un espace.
--
JièL xxx
Le 06/01/2017 à 14:12, News.aioe.org a écrit :
Une façon d'extraire ce que tu cherches avec une macro :
ton fichier incluant la macro : http://www.cjoint.com/c/GAgnlrvF8Yi
MichD
Jacquouille
Le #26422492
Re
le premier "x" est le 140 ème caractère.
Pour plus de facilités, j'ai ajouté une ligne, dans laquelle je cherche la
position des "x", soit la ligne 7
=STXT(A3;CHERCHE("x";$A$3;1)-3;3)&STXT($A$3;CHERCHE("x";$A$3;1);6) ---->donne
53x31,5
MAIS, il faudra à chaque réponse, jongler avec le nb de car à prendre à
partir de x ( ou avant).
http://www.cjoint.com/c/GAgnAIZXN1Y
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
o4nuoo$1ekj$
Bonjour
Vu la densité de matière dans une seule cellule, je serais tenté d'orienter
mes recherches en positionnant tous les "x", puis extraire 3 ou 4 caractères
de part et d'autre de chaque x.
Pour ce faire, il "suffit" de chercher la position du premier "x", puis, à
partir de celui-ci, chercher le deuxième, .....
Mais je crains que tu aies une formule au moins aussi épaisse que les
données.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"jip" a écrit dans le message de groupe de discussion :

à recopier vers la droite,
=STXT($A2;CHERCHE("§";SUBSTITUE($A2;"x";"§";COLONNE()-1))-3;9)
mais ce n'est pas parfait, il faudra adapter avec les vrai données.

je vais tester, merci.
Sinon voici le lien pour voir un exemple.
http://www.cjoint.com/c/GAgjfbSEPqR
cordialement
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
News.aioe.org
Le #26422498
Bien vu! Merci.
La nouvelle procédure irait comme suit :
'-----------------------------------------------------------------------------
Sub Extraire()
Dim X As Long, P As Long
Dim Tblo(), F As String, Rg As Range
Dim C As Range, T As String, A As Long
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheets("Feuil2") 'Nom de l'onglet de la feuille de calcul
'Adapter la plage selon ton application
'A1 = ligne de départ de la colonne A jusqu'à la derniere cellule
Set Rg = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With
For Each C In Rg
With C
T = .Value
Do
P = P + 1
P = InStr(P, T, " X", vbTextCompare) 'Légère modification à
cette ligne
If P <> 0 Then
F = Trim(Mid(T, P - 5, 12)) 'Légère modification à cette
ligne
If Not IsNumeric(Left(F, 1)) Then
F = Trim(Right(F, Len(F) - 1))
End If
If Not IsNumeric(Right(F, 1)) Then
F = Trim(Left(F, Len(F) - 1))
End If
A = A + 1
C.Offset(, A) = F
Else
A = 0
Exit Do
End If
Loop
End With
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'-----------------------------------------------------------------------------
MichD
La Norme Fran
Le #26422507
On Thu, 5 Jan 2017 07:43:39 -0800 (PST), jip wrote:
bonjour
dans plusieurs tableaux excel j'ai des données représentant des dimensions à extraire pour les relever.
exemple :
"Tracé de la route nationale 12 de Paris à Brest établie entre 1745 et 1780 (voir Atlas de Trudaine). Au dos "Route royale n°12 de Paris à Brest. Première carte … Grande route …". $ Avant 1756 $ Don Sauvage, avocat à Angers, 1873 $ O. Ms. papier, encre noir et rouge, sans échelle $ 105 x 51"
où je dois extraire 105 x 51
Parfois plusieurs dimensions dans la même cellule, comme :
Atlas : 53 x 31,5 x 2 ; tableau : 53 x 53 ; feuille : indiqué pour chacune $ - "Plan d'assemblage de voiries urbaine de la commune de Routot". $ 1- Place communale, Grande rue, place du Bourg ; 203 x 61,5 $ 2- Rue de la Mailleraye ; 170,5 x 30,1 $ 3- Rue de Caudebec ; 125,5 x 30,1 $ 4- Rue de Rougemontiers ; 149,2 x 30,1 $ 5- Rue

de Hauville ; 163,5 x 30,1 $ 6- Rue du Clos Beaulieu ; 92,5 x 30,1 $ 7- Rue de La Mare Besnard ; 168 x 30,1 $ 8- Rue Taupin ; 51 x 30,1 $ 9- Chemin du Fossé Aubrée ; 161 x 30,1 $ 10- Ancien chemin aux Bœufs ; 87 x 30,1 $ 11- Rue Brasseresse ; 154 x 30,10 $ - Légende des alignements, 4 pages recto-verso plus 1 page ; 52 x 30,1
Parfois la mention cm figure après les chiffres :
Carte du département de l'Eure d'après l'ordre de Mr Rolland de Chambaudoin préfet. $ par Jainin $ 1808 $ gravée, limites en rouge. $ éch. en toises $ 45 x 35 cm
Comment faire pour avoir ces données facilement ?
Une idée ?
Merci d'avance
Cordialement.

Si tu as Excel 2013, tu peux utiliser la nouvelle fonction
d'apprentissage "Remplissage instantané"
https://www.youtube.com/watch?v=FtNSfMiccpo
http://nicole-leveque.over-blog.com/article-excel-2013-nouveautes-le-remplissage-instantane-117460060.html
Il suffit d'activer la fonction, de faire toi même les premières
lignes et il complête de lui même.
Quand les données ne sont pas homogène, il va se tromper et quand tu
rectifiera son erreur, il corrigera le reste.
Avantage, pas besoin de coder ou faire des fonction parfois un peu
prise de tête.
Inconvénient, si tu modifies une données d'origine par la suite, il ne
fera rien. Il faudra relancer la fonction.
Si les lignes sont trop longues et complexe, rien n'empêche de
convertir en colonne avec $ comme séparateur, puis il detectera les
ABC x DE cm ou bien les ABC x DE
Si tu n'as pas 2013, et que le fichier excel ne fait pas plusieurs
dizaine de Mo, tu peux toujours les fournir ici ou trouver un Excel
2013
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
Publicité
Poster une réponse
Anonyme