Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

texte recherche cellule

15 réponses
Avatar
STEPH B
Bonjour,
J'ai un petit probleme dans ma cellule A1 j'ai un long texte avec des retour
chariot.

dans ce texte il y a plusieurs fois le caractère 06.
j'aimerais qu'une macro m'epure tout le texte qu'en laissant le "06." et les
11 carctères suivant..
bien sur comme je l ai dis il peut y avoir plusieurs fois "06." dans le
texte

Merci d'avance

5 réponses

1 2
Avatar
Jacky
Re....
Ben c'est ce que j'ai cru comprendre comme demande...
mais j'aimerais si possible qu'une macro me trouve la derniere cellule...







Si tu le souhaites le classeur brouillon avec l'organisation des données sur
http://www.cijoint.fr
--

Salutations
JJ


"STEPH B" a écrit dans le message de news:
4b7be63b$0$23225$
merci jacky mais ce code ne marche pas
en fait il ne me mets que la valeur de la derniere ligne trouvée.

"Jacky" a écrit dans le message de news: %
Re...
mais j'aimerais si possible qu'une macro me trouve la derniere cellule de la colonne A


'------------------
Sub jj()
Dim tmp As Object, i As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
Set tmp = Range("a" & derlg)
For i = 1 To Len(tmp)
If Mid(tmp, i, 2) = "06" Then
Range("b" & derlg) = Mid([tmp], i, 13)
derlg = derlg + 1
End If
Next
End Sub
'-------------

--
Salutations
JJ


"STEPH B" a écrit dans le message de news: 4b7bc3b8$0$916$
si je peux abuser de votre aide un tout petit peu en fait les macro marche super bien merci encore...

mais j'aimerais si possible qu'une macro me trouve la derniere cellule de la colonne A et qu'il me fasse
la même macro en me mettant en colonne b bien evidemment les valeurs trouvées à la suite.

merci encore d avance

"FFO" a écrit dans le message de news:

Salut à toi

En reprenant la proposition de Jacky mets la comme ceci :

Sub jj()
Dim letexte As String, i As Integer
For i = 1 To Len([a1])
If Mid([a1], i, 2) = "06" Then
Range("B65535").End(XlUp).Offset(1,0) = Mid([a1], i, 13)
End If
Next
End Sub

Je pense que celà devrait convenir

Dis moi !!!!!















Avatar
STEPH B
voici mon code un peu bidouillé comme j'ai pu

Sub jj()
Dim letexte As String, jj As Variant, i As Integer, x As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
For jj = 1 To derlg

For i = 1 To Len(Range("a" & jj))
If Mid(Range("a" & jj), i, 3) = "06." Then
x = x + 1
Range("b" & x) = Mid(Range("a" & jj), i, 14)
End If
Next
Next
'mettre en forme les numéros
derlg = Cells(Rows.Count, "b").End(3).Row
For jjj = 1 To derlg
Range("c" & jjj) = "=TEXT(RC[-1],1)"
Range("c" & jjj) = "=SUBSTITUTE(RC[-1],""."","""")"
Next
'"=TEXT(RC[-1],1)"
Columns("C:C").Select
Selection.Copy
Columns("B:B").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse,

GRACE A TOI MERCI BCPS

"Jacky" a écrit dans le message de news:

Re....
Ben c'est ce que j'ai cru comprendre comme demande...
mais j'aimerais si possible qu'une macro me trouve la derniere
cellule...







Si tu le souhaites le classeur brouillon avec l'organisation des données
sur
http://www.cijoint.fr
--

Salutations
JJ


"STEPH B" a écrit dans le message de news:
4b7be63b$0$23225$
merci jacky mais ce code ne marche pas
en fait il ne me mets que la valeur de la derniere ligne trouvée.

"Jacky" a écrit dans le message de news:
%
Re...
mais j'aimerais si possible qu'une macro me trouve la derniere cellule
de la colonne A


'------------------
Sub jj()
Dim tmp As Object, i As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
Set tmp = Range("a" & derlg)
For i = 1 To Len(tmp)
If Mid(tmp, i, 2) = "06" Then
Range("b" & derlg) = Mid([tmp], i, 13)
derlg = derlg + 1
End If
Next
End Sub
'-------------

--
Salutations
JJ


"STEPH B" a écrit dans le message de news:
4b7bc3b8$0$916$
si je peux abuser de votre aide un tout petit peu en fait les macro
marche super bien merci encore...

mais j'aimerais si possible qu'une macro me trouve la derniere cellule
de la colonne A et qu'il me fasse la même macro en me mettant en
colonne b bien evidemment les valeurs trouvées à la suite.

merci encore d avance

"FFO" a écrit dans le message de news:

Salut à toi

En reprenant la proposition de Jacky mets la comme ceci :

Sub jj()
Dim letexte As String, i As Integer
For i = 1 To Len([a1])
If Mid([a1], i, 2) = "06" Then
Range("B65535").End(XlUp).Offset(1,0) = Mid([a1], i, 13)
End If
Next
End Sub

Je pense que celà devrait convenir

Dis moi !!!!!



















Avatar
Hervé
Bonjour,

Et cette piste avec Split ?

Sub Decouper()

Dim Tbl
Dim Plage As Range
Dim Cel As Range
Dim Texte As String
Dim i As Integer
Dim J As Long

Set Plage = Range([A1], [A65536].End(xlUp))

For Each Cel In Plage
'supprime le retour à la ligne
Texte = Replace(Cel, Chr(10), "")

Tbl = Split(Texte, "06")

For i = 0 To UBound(Tbl)
'inscrit le résultat en colonne B en
'rajoutant le 06 qui a disparu durant
'le découpage
Cel.Offset(0, i + 1) = "06" & Left(Tbl(i), 11)
Next i

Next Cel

End Sub


Hervé.


"STEPH B" a écrit dans le message de
news:4b7bf594$0$17496$
voici mon code un peu bidouillé comme j'ai pu

Sub jj()
Dim letexte As String, jj As Variant, i As Integer, x As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
For jj = 1 To derlg

For i = 1 To Len(Range("a" & jj))
If Mid(Range("a" & jj), i, 3) = "06." Then
x = x + 1
Range("b" & x) = Mid(Range("a" & jj), i, 14)
End If
Next
Next
'mettre en forme les numéros
derlg = Cells(Rows.Count, "b").End(3).Row
For jjj = 1 To derlg
Range("c" & jjj) = "=TEXT(RC[-1],1)"
Range("c" & jjj) = "=SUBSTITUTE(RC[-1],""."","""")"
Next
'"=TEXT(RC[-1],1)"
Columns("C:C").Select
Selection.Copy
Columns("B:B").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse,

GRACE A TOI MERCI BCPS

"Jacky" a écrit dans le message de news:

Re....
Ben c'est ce que j'ai cru comprendre comme demande...
mais j'aimerais si possible qu'une macro me trouve la derniere
cellule...







Si tu le souhaites le classeur brouillon avec l'organisation des données
sur
http://www.cijoint.fr
--

Salutations
JJ


"STEPH B" a écrit dans le message de news:
4b7be63b$0$23225$
merci jacky mais ce code ne marche pas
en fait il ne me mets que la valeur de la derniere ligne trouvée.

"Jacky" a écrit dans le message de news:
%
Re...
mais j'aimerais si possible qu'une macro me trouve la derniere cellule
de la colonne A


'------------------
Sub jj()
Dim tmp As Object, i As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
Set tmp = Range("a" & derlg)
For i = 1 To Len(tmp)
If Mid(tmp, i, 2) = "06" Then
Range("b" & derlg) = Mid([tmp], i, 13)
derlg = derlg + 1
End If
Next
End Sub
'-------------

--
Salutations
JJ


"STEPH B" a écrit dans le message de news:
4b7bc3b8$0$916$
si je peux abuser de votre aide un tout petit peu en fait les macro
marche super bien merci encore...

mais j'aimerais si possible qu'une macro me trouve la derniere cellule
de la colonne A et qu'il me fasse la même macro en me mettant en
colonne b bien evidemment les valeurs trouvées à la suite.

merci encore d avance

"FFO" a écrit dans le message de news:

Salut à toi

En reprenant la proposition de Jacky mets la comme ceci :

Sub jj()
Dim letexte As String, i As Integer
For i = 1 To Len([a1])
If Mid([a1], i, 2) = "06" Then
Range("B65535").End(XlUp).Offset(1,0) = Mid([a1], i, 13)
End If
Next
End Sub

Je pense que celà devrait convenir

Dis moi !!!!!























Avatar
Hervé
Oups,

Je crois que c'est le résultat complet que tu veux en colonne B et non
réparti sur plusieurs colonnes :

Sub Decouper()

Dim Tbl
Dim Plage As Range
Dim Cel As Range
Dim Texte As String
Dim Texte_2 As String
Dim i As Integer

Set Plage = Range([A1], [A65536].End(xlUp))

For Each Cel In Plage
'supprime le retour à la ligne
Texte = Replace(Cel, Chr(10), "")

Tbl = Split(Texte, "06")

For i = 0 To UBound(Tbl)
'rajoute le 06 qui a disparu
'durant le découpage
Texte_2 = Texte_2 & "06" & Left(Tbl(i), 11)
Next i

'inscrit le résultat en colonne B
Cel.Offset(0, 1) = Texte_2
Texte_2 = ""

Next Cel

End Sub


Hervé.


"Hervé" a écrit dans le message de
news:
Bonjour,

Et cette piste avec Split ?

Sub Decouper()

Dim Tbl
Dim Plage As Range
Dim Cel As Range
Dim Texte As String
Dim i As Integer
Dim J As Long

Set Plage = Range([A1], [A65536].End(xlUp))

For Each Cel In Plage
'supprime le retour à la ligne
Texte = Replace(Cel, Chr(10), "")

Tbl = Split(Texte, "06")

For i = 0 To UBound(Tbl)
'inscrit le résultat en colonne B en
'rajoutant le 06 qui a disparu durant
'le découpage
Cel.Offset(0, i + 1) = "06" & Left(Tbl(i), 11)
Next i

Next Cel

End Sub


Hervé.


"STEPH B" a écrit dans le message de
news:4b7bf594$0$17496$
voici mon code un peu bidouillé comme j'ai pu

Sub jj()
Dim letexte As String, jj As Variant, i As Integer, x As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
For jj = 1 To derlg

For i = 1 To Len(Range("a" & jj))
If Mid(Range("a" & jj), i, 3) = "06." Then
x = x + 1
Range("b" & x) = Mid(Range("a" & jj), i, 14)
End If
Next
Next
'mettre en forme les numéros
derlg = Cells(Rows.Count, "b").End(3).Row
For jjj = 1 To derlg
Range("c" & jjj) = "=TEXT(RC[-1],1)"
Range("c" & jjj) = "=SUBSTITUTE(RC[-1],""."","""")"
Next
'"=TEXT(RC[-1],1)"
Columns("C:C").Select
Selection.Copy
Columns("B:B").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse,

GRACE A TOI MERCI BCPS

"Jacky" a écrit dans le message de news:

Re....
Ben c'est ce que j'ai cru comprendre comme demande...
mais j'aimerais si possible qu'une macro me trouve la derniere
cellule...







Si tu le souhaites le classeur brouillon avec l'organisation des données
sur
http://www.cijoint.fr
--

Salutations
JJ


"STEPH B" a écrit dans le message de news:
4b7be63b$0$23225$
merci jacky mais ce code ne marche pas
en fait il ne me mets que la valeur de la derniere ligne trouvée.

"Jacky" a écrit dans le message de news:
%
Re...
mais j'aimerais si possible qu'une macro me trouve la derniere
cellule de la colonne A


'------------------
Sub jj()
Dim tmp As Object, i As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
Set tmp = Range("a" & derlg)
For i = 1 To Len(tmp)
If Mid(tmp, i, 2) = "06" Then
Range("b" & derlg) = Mid([tmp], i, 13)
derlg = derlg + 1
End If
Next
End Sub
'-------------

--
Salutations
JJ


"STEPH B" a écrit dans le message de news:
4b7bc3b8$0$916$
si je peux abuser de votre aide un tout petit peu en fait les macro
marche super bien merci encore...

mais j'aimerais si possible qu'une macro me trouve la derniere
cellule de la colonne A et qu'il me fasse la même macro en me
mettant en colonne b bien evidemment les valeurs trouvées à la suite.

merci encore d avance

"FFO" a écrit dans le message de
news:
Salut à toi

En reprenant la proposition de Jacky mets la comme ceci :

Sub jj()
Dim letexte As String, i As Integer
For i = 1 To Len([a1])
If Mid([a1], i, 2) = "06" Then
Range("B65535").End(XlUp).Offset(1,0) = Mid([a1], i, 13)
End If
Next
End Sub

Je pense que celà devrait convenir

Dis moi !!!!!


























Avatar
Jacky
Re...
Si j'ai bien saisie ton formatage,
ceci, sans faire 2 fois la même boucle
'--------------------
Sub jj()
Dim derlg As Integer, i As Integer, plage As Range
[b:b].Clear
Set plage = Range([A1], Cells(Rows.Count, 1).End(3))
derlg = Cells(Rows.Count, "A").End(3).Row
For Each c In plage
For i = 1 To Len(c)
If Mid(c, i, 3) = "06." Then
x = x + 1
Range("b" & x) = Replace(Mid(c, i, 14), ".", "")
End If
Next
Next
End Sub
"-----------------------
--
Salutations
JJ


"STEPH B" a écrit dans le message de news: 4b7bf594$0$17496$
voici mon code un peu bidouillé comme j'ai pu

Sub jj()
Dim letexte As String, jj As Variant, i As Integer, x As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
For jj = 1 To derlg

For i = 1 To Len(Range("a" & jj))
If Mid(Range("a" & jj), i, 3) = "06." Then
x = x + 1
Range("b" & x) = Mid(Range("a" & jj), i, 14)
End If
Next
Next
'mettre en forme les numéros
derlg = Cells(Rows.Count, "b").End(3).Row
For jjj = 1 To derlg
Range("c" & jjj) = "=TEXT(RC[-1],1)"
Range("c" & jjj) = "=SUBSTITUTE(RC[-1],""."","""")"
Next
'"=TEXT(RC[-1],1)"
Columns("C:C").Select
Selection.Copy
Columns("B:B").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:úlse,

GRACE A TOI MERCI BCPS

"Jacky" a écrit dans le message de news:
Re....
Ben c'est ce que j'ai cru comprendre comme demande...
mais j'aimerais si possible qu'une macro me trouve la derniere cellule...







Si tu le souhaites le classeur brouillon avec l'organisation des données sur
http://www.cijoint.fr
--

Salutations
JJ


"STEPH B" a écrit dans le message de news:
4b7be63b$0$23225$
merci jacky mais ce code ne marche pas
en fait il ne me mets que la valeur de la derniere ligne trouvée.

"Jacky" a écrit dans le message de news: %
Re...
mais j'aimerais si possible qu'une macro me trouve la derniere cellule de la colonne A


'------------------
Sub jj()
Dim tmp As Object, i As Integer
derlg = Cells(Rows.Count, "A").End(3).Row
Set tmp = Range("a" & derlg)
For i = 1 To Len(tmp)
If Mid(tmp, i, 2) = "06" Then
Range("b" & derlg) = Mid([tmp], i, 13)
derlg = derlg + 1
End If
Next
End Sub
'-------------

--
Salutations
JJ


"STEPH B" a écrit dans le message de news: 4b7bc3b8$0$916$
si je peux abuser de votre aide un tout petit peu en fait les macro marche super bien merci encore...

mais j'aimerais si possible qu'une macro me trouve la derniere cellule de la colonne A et qu'il me fasse
la même macro en me mettant en colonne b bien evidemment les valeurs trouvées à la suite.

merci encore d avance

"FFO" a écrit dans le message de news:

Salut à toi

En reprenant la proposition de Jacky mets la comme ceci :

Sub jj()
Dim letexte As String, i As Integer
For i = 1 To Len([a1])
If Mid([a1], i, 2) = "06" Then
Range("B65535").End(XlUp).Offset(1,0) = Mid([a1], i, 13)
End If
Next
End Sub

Je pense que celà devrait convenir

Dis moi !!!!!























1 2