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

excel cellule recherche

8 réponses
Avatar
STEPH B
Bonjour
Je dispose d'une feuille nommée "MULT" ou il y des informations dans la
colonne A

Je voudrais qu'une macro recherche de A1 à A80 le texte "DO:" et me mette
directement le texte qui suit "DO:" dans la feuille nommée "MULT2" en
cellule D4 mais ceci jusquau au 1er caractere "-"

exemple: DO: stephane TARTANPION - RUE DE PARIS -STEPHANETARTANPION@xxx.com

ca donnera

en feuille "MULT2" en D4 stephane TARTANPION

merci d'avance

8 réponses

Avatar
Daniel.C
Bonjour.
Essaie :

Sub RechercheDO()
Dim c As Range, Tabl, ResAdr As String, txt As String
With Sheets("MULT2")
Set c = Sheets("MULT").[A:A].Find("DO:", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "DO: ", "", 1)
Tabl = Split(txt, "-")
.[A65536].End(xlUp).Offset(1) = _
Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With
End Sub

Cordialement.
Daniel

Bonjour
Je dispose d'une feuille nommée "MULT" ou il y des informations dans la
colonne A

Je voudrais qu'une macro recherche de A1 à A80 le texte "DO:" et me mette
directement le texte qui suit "DO:" dans la feuille nommée "MULT2" en cellule
D4 mais ceci jusquau au 1er caractere "-"

exemple: DO: stephane TARTANPION - RUE DE PARIS

ca donnera

en feuille "MULT2" en D4 stephane TARTANPION

merci d'avance
Avatar
Jacky
Bonjour,

En D4 de la feuille MULT2

=STXT(INDEX(Multi!A1:A80;EQUIV("DO:";GAUCHE(Multi!A1:A80;3);0));5;TROUVE("-";INDEX(Multi!A1:A80;EQUIV("DO:";GAUCHE(Multi!A1:A80;3);0)))-6)

Saisir sur une seule ligne
Matricielle (valider par ctrl+majuscule+entrée)
--
Salutations
JJ


"STEPH B" a écrit dans le message de news:
4be11a99$0$27612$
Bonjour
Je dispose d'une feuille nommée "MULT" ou il y des informations dans la colonne A

Je voudrais qu'une macro recherche de A1 à A80 le texte "DO:" et me mette directement le texte qui suit
"DO:" dans la feuille nommée "MULT2" en cellule D4 mais ceci jusquau au 1er caractere "-"

exemple: DO: stephane TARTANPION - RUE DE PARIS

ca donnera

en feuille "MULT2" en D4 stephane TARTANPION

merci d'avance



Avatar
Jacky
Oupss !!
Remplacer "Multi" par "Mult"
=STXT(INDEX(MULT!A1:A80;EQUIV("DO:";GAUCHE(MULT!A1:A80;3);0));5;TROUVE("-";INDEX(MULT!A1:A80;EQUIV("DO:";GAUCHE(MULT!A1:A80;3);0)))-6)

Matricielle
--
Salutations
JJ


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

En D4 de la feuille MULT2

=STXT(INDEX(Multi!A1:A80;EQUIV("DO:";GAUCHE(Multi!A1:A80;3);0));5;TROUVE("-";INDEX(Multi!A1:A80;EQUIV("DO:";GAUCHE(Multi!A1:A80;3);0)))-6)

Saisir sur une seule ligne
Matricielle (valider par ctrl+majuscule+entrée)
--
Salutations
JJ


"STEPH B" a écrit dans le message de news:
4be11a99$0$27612$
Bonjour
Je dispose d'une feuille nommée "MULT" ou il y des informations dans la colonne A

Je voudrais qu'une macro recherche de A1 à A80 le texte "DO:" et me mette directement le texte qui suit
"DO:" dans la feuille nommée "MULT2" en cellule D4 mais ceci jusquau au 1er caractere "-"

exemple: DO: stephane TARTANPION - RUE DE PARIS

ca donnera

en feuille "MULT2" en D4 stephane TARTANPION

merci d'avance







Avatar
STEPH B
repondre merci a vous c est génial
je prefere la version VBA

merci au top encore une fois

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

Oupss !!
Remplacer "Multi" par "Mult"
=STXT(INDEX(MULT!A1:A80;EQUIV("DO:";GAUCHE(MULT!A1:A80;3);0));5;TROUVE("-";INDEX(MULT!A1:A80;EQUIV("DO:";GAUCHE(MULT!A1:A80;3);0)))-6)

Matricielle
--
Salutations
JJ


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

Bonjour,

En D4 de la feuille MULT2

=STXT(INDEX(Multi!A1:A80;EQUIV("DO:";GAUCHE(Multi!A1:A80;3);0));5;TROUVE("-";INDEX(Multi!A1:A80;EQUIV("DO:";GAUCHE(Multi!A1:A80;3);0)))-6)

Saisir sur une seule ligne
Matricielle (valider par ctrl+majuscule+entrée)
--
Salutations
JJ


"STEPH B" a écrit dans le message de news:
4be11a99$0$27612$
Bonjour
Je dispose d'une feuille nommée "MULT" ou il y des informations dans la
colonne A

Je voudrais qu'une macro recherche de A1 à A80 le texte "DO:" et me
mette directement le texte qui suit "DO:" dans la feuille nommée "MULT2"
en cellule D4 mais ceci jusquau au 1er caractere "-"

exemple: DO: stephane TARTANPION - RUE DE
PARIS

ca donnera

en feuille "MULT2" en D4 stephane TARTANPION

merci d'avance











Avatar
STEPH B
le seul soucis daniel c est que le texte rappatrié ne va pas dans mon champs
souhaité
dans le champs "nom_ordre"
tu peux m aider?

merci

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie :

Sub RechercheDO()
Dim c As Range, Tabl, ResAdr As String, txt As String
With Sheets("MULT2")
Set c = Sheets("MULT").[A:A].Find("DO:", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "DO: ", "", 1)
Tabl = Split(txt, "-")
.[A65536].End(xlUp).Offset(1) = _
Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With
End Sub

Cordialement.
Daniel

Bonjour
Je dispose d'une feuille nommée "MULT" ou il y des informations dans la
colonne A

Je voudrais qu'une macro recherche de A1 à A80 le texte "DO:" et me mette
directement le texte qui suit "DO:" dans la feuille nommée "MULT2" en
cellule D4 mais ceci jusquau au 1er caractere "-"

exemple: DO: stephane TARTANPION - RUE DE
PARIS

ca donnera

en feuille "MULT2" en D4 stephane TARTANPION

merci d'avance




Avatar
Daniel.C
Tu veux dire qu'il n'y a qu'une cellule répondant au critère de
recherche et que le résultat va en D4 ? :

Sub RechercheDO()
Dim c As Range, Tabl, ResAdr As String, txt As String
With Sheets("MULT2")
Set c = Sheets("MULT").[A1:A80].Find("DO:", , , xlPart)
If Not c Is Nothing Then
txt = Replace(c.Value, "DO: ", "", 1)
Tabl = Split(txt, "-")
.[D4] = Application.Trim(Tabl(0))
End If
End With
End Sub

Daniel

le seul soucis daniel c est que le texte rappatrié ne va pas dans mon champs
souhaité
dans le champs "nom_ordre"
tu peux m aider?

merci

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie :

Sub RechercheDO()
Dim c As Range, Tabl, ResAdr As String, txt As String
With Sheets("MULT2")
Set c = Sheets("MULT").[A:A].Find("DO:", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "DO: ", "", 1)
Tabl = Split(txt, "-")
.[A65536].End(xlUp).Offset(1) = _
Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With
End Sub

Cordialement.
Daniel

Bonjour
Je dispose d'une feuille nommée "MULT" ou il y des informations dans la
colonne A

Je voudrais qu'une macro recherche de A1 à A80 le texte "DO:" et me mette
directement le texte qui suit "DO:" dans la feuille nommée "MULT2" en
cellule D4 mais ceci jusquau au 1er caractere "-"

exemple: DO: stephane TARTANPION - RUE DE PARIS


ca donnera

en feuille "MULT2" en D4 stephane TARTANPION

merci d'avance




Avatar
STEPH B
Sub RechercheDO()
Dim c As Range, Tabl, ResAdr As String, txt As String
With Sheets("MULT")
Set c = Sheets("MULT").[A:A].Find("Donneur d'ordre :", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "Donneur d'ordre :", "", 1)
Tabl = Split(txt, "-")
Sheets("ordre_mission").Range("nom_ordre") = Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With

With Sheets("MULT")
Set c = Sheets("MULT").[A:A].Find("Mandant :", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "Mandant :", "", 1)
Tabl = Split(txt, "-")
Sheets("ordre_mission").Range("n") = Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With

With Sheets("MULT")
'''''' le soucis là c'est que l'adresse est marquée de la manière suivante:
12 rue de cherche 75001 - PARIS
'''' faut pouvoir isoler l 'adresse , le code postal, la ville et les
mettres dans des autres champs.

Set c = Sheets("MULT").[A:A].Find("Adresse du bien : ", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "Adresse du bien : ", "", 1)
Tabl = Split(txt, "-")
Sheets("ordre_mission").Range("OM_ad_diag1") =
Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With
End Sub
Avatar
STEPH B
voici mon code modifié:

Sub RechercheDO()
Dim c As Range, Tabl, ResAdr As String, txt As String
With Sheets("MULT")
Set c = Sheets("MULT").[A:A].Find("Donneur d'ordre :", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "Donneur d'ordre :", "", 1)
Tabl = Split(txt, "-")
Sheets("ordre_mission").Range("nom_ordre") = Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With

With Sheets("MULT")
Set c = Sheets("MULT").[A:A].Find("Mandant :", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "Mandant :", "", 1)
Tabl = Split(txt, "-")
Sheets("ordre_mission").Range("n") = Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With

With Sheets("MULT")

''''' le soucis est que l'adresse est de la forme 12 rue de trouver 75001 -
paris par exemple
''''' et il faut que je détache le l'adresse , le code postal, la ville
parce que les 3 vont dans des champs différents

Set c = Sheets("MULT").[A:A].Find("Adresse du bien : ", , , xlPart)
If Not c Is Nothing Then
ResAdr = c.Address
Do
txt = Replace(c.Value, "Adresse du bien : ", "", 1)
Tabl = Split(txt, "-")
' Sheets("ordre_mission").Range("CHAMPS") = Application.Trim(Tabl(0))
Set c = Sheets("MULT").[A:A].FindNext(c)
Loop While ResAdr <> c.Address
End If
End With
End Sub



merci d'avance