Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut à toi
Avec les données implantées telles que tu l'as décrit Je te propose ce code :
i = 1 Do While i < Sheets("Feuil2").Range("A65535").End(xlUp).Row + 1 For Each c In Worksheets("Feuil1").Range("E2", "E" & Sheets ("Feuil1").Range("E65535").End(xlUp).Row) If c Like Sheets("Feuil2").Range("A" & i) & "*" Then c.Value = Replace(c, Sheets("Feuil2").Range("A" & i), "") c.Value = Replace(c, " ", "") End If Next i = i + 1 Loop
Fais des essais et dis moi !!!!!!!
Salut à toi
Avec les données implantées telles que tu l'as décrit
Je te propose ce code :
i = 1
Do While i < Sheets("Feuil2").Range("A65535").End(xlUp).Row + 1
For Each c In Worksheets("Feuil1").Range("E2", "E" & Sheets
("Feuil1").Range("E65535").End(xlUp).Row)
If c Like Sheets("Feuil2").Range("A" & i) & "*" Then
c.Value = Replace(c, Sheets("Feuil2").Range("A" & i), "")
c.Value = Replace(c, " ", "")
End If
Next
i = i + 1
Loop
Avec les données implantées telles que tu l'as décrit Je te propose ce code :
i = 1 Do While i < Sheets("Feuil2").Range("A65535").End(xlUp).Row + 1 For Each c In Worksheets("Feuil1").Range("E2", "E" & Sheets ("Feuil1").Range("E65535").End(xlUp).Row) If c Like Sheets("Feuil2").Range("A" & i) & "*" Then c.Value = Replace(c, Sheets("Feuil2").Range("A" & i), "") c.Value = Replace(c, " ", "") End If Next i = i + 1 Loop
Fais des essais et dis moi !!!!!!!
Hervé
Bonjour, Une autre façon parmis tant d'autres :
Sub Chercher()
Dim Fe1 As Worksheet Dim Fe2 As Worksheet Dim Plage_Fe1 As Range Dim Plage_Fe2 As Range Dim Cel_Fe1 As Range Dim Cel_Fe2 As Range Dim Adr As String Dim Texte As String
Set Fe1 = Worksheets("Feuil1") Set Fe2 = Worksheets("Feuil2")
With Fe1 Set Plage_Fe1 = .Range(.[E1], .[E65536].End(xlUp)) End With
With Fe2 Set Plage_Fe2 = .Range(.[A1], .[A65536].End(xlUp)) End With
For Each Cel_Fe2 In Plage_Fe2
Set Cel_Fe1 = Plage_Fe1.Find(Cel_Fe2, , xlValues)
If Not Cel_Fe1 Is Nothing Then Adr = Cel_Fe1.Address Do Set Cel_Fe1 = Plage_Fe1.FindNext(Cel_Fe1) Cel_Fe1 = Replace(Cel_Fe1, Cel_Fe2 & " ", "") Loop While Cel_Fe1.Address <> Adr End If
Next Cel_Fe2
Set Cel_Fe1 = Nothing Set Cel_Fe2 = Nothing Set Plage_Fe1 = Nothing Set Plage_Fe2 = Nothing Set Fe1 = Nothing Set Fe2 = Nothing
End Sub
Hervé.
"maud s" a écrit dans le message de news:
Bonjour voici mon probleme j aimerais que ce soit en vba dans la feuille1 en celulle e1 jusqu Exxxx j ai des noms avec M. MME MADAME etc...
je voulais que dans la feuil2 en colonne A quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots "cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle E2 M. TOTO E3 MME TATA E4 CABINET DFG
en feuille 2 A1 MME A2 M. A3 CABINET
le resultat de la macro donnera exemple en feuille 1 celulle E2 TOTO E3 TATA E4 DFG
merci d avance stefane
Bonjour,
Une autre façon parmis tant d'autres :
Sub Chercher()
Dim Fe1 As Worksheet
Dim Fe2 As Worksheet
Dim Plage_Fe1 As Range
Dim Plage_Fe2 As Range
Dim Cel_Fe1 As Range
Dim Cel_Fe2 As Range
Dim Adr As String
Dim Texte As String
Set Fe1 = Worksheets("Feuil1")
Set Fe2 = Worksheets("Feuil2")
With Fe1
Set Plage_Fe1 = .Range(.[E1], .[E65536].End(xlUp))
End With
With Fe2
Set Plage_Fe2 = .Range(.[A1], .[A65536].End(xlUp))
End With
For Each Cel_Fe2 In Plage_Fe2
Set Cel_Fe1 = Plage_Fe1.Find(Cel_Fe2, , xlValues)
If Not Cel_Fe1 Is Nothing Then
Adr = Cel_Fe1.Address
Do
Set Cel_Fe1 = Plage_Fe1.FindNext(Cel_Fe1)
Cel_Fe1 = Replace(Cel_Fe1, Cel_Fe2 & " ", "")
Loop While Cel_Fe1.Address <> Adr
End If
Next Cel_Fe2
Set Cel_Fe1 = Nothing
Set Cel_Fe2 = Nothing
Set Plage_Fe1 = Nothing
Set Plage_Fe2 = Nothing
Set Fe1 = Nothing
Set Fe2 = Nothing
End Sub
Hervé.
"maud s" <maud2604@neuf.fr> a écrit dans le message de
news:utn2kksYKHA.1592@TK2MSFTNGP06.phx.gbl...
Bonjour
voici mon probleme
j aimerais que ce soit en vba
dans la feuille1
en celulle e1 jusqu Exxxx j ai des noms
avec
M.
MME
MADAME
etc...
je voulais que dans la feuil2
en colonne A
quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots
"cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle
E2 M. TOTO
E3 MME TATA
E4 CABINET DFG
en feuille 2
A1 MME
A2 M.
A3 CABINET
le resultat de la macro donnera
exemple en feuille 1 celulle
E2 TOTO
E3 TATA
E4 DFG
Dim Fe1 As Worksheet Dim Fe2 As Worksheet Dim Plage_Fe1 As Range Dim Plage_Fe2 As Range Dim Cel_Fe1 As Range Dim Cel_Fe2 As Range Dim Adr As String Dim Texte As String
Set Fe1 = Worksheets("Feuil1") Set Fe2 = Worksheets("Feuil2")
With Fe1 Set Plage_Fe1 = .Range(.[E1], .[E65536].End(xlUp)) End With
With Fe2 Set Plage_Fe2 = .Range(.[A1], .[A65536].End(xlUp)) End With
For Each Cel_Fe2 In Plage_Fe2
Set Cel_Fe1 = Plage_Fe1.Find(Cel_Fe2, , xlValues)
If Not Cel_Fe1 Is Nothing Then Adr = Cel_Fe1.Address Do Set Cel_Fe1 = Plage_Fe1.FindNext(Cel_Fe1) Cel_Fe1 = Replace(Cel_Fe1, Cel_Fe2 & " ", "") Loop While Cel_Fe1.Address <> Adr End If
Next Cel_Fe2
Set Cel_Fe1 = Nothing Set Cel_Fe2 = Nothing Set Plage_Fe1 = Nothing Set Plage_Fe2 = Nothing Set Fe1 = Nothing Set Fe2 = Nothing
End Sub
Hervé.
"maud s" a écrit dans le message de news:
Bonjour voici mon probleme j aimerais que ce soit en vba dans la feuille1 en celulle e1 jusqu Exxxx j ai des noms avec M. MME MADAME etc...
je voulais que dans la feuil2 en colonne A quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots "cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle E2 M. TOTO E3 MME TATA E4 CABINET DFG
en feuille 2 A1 MME A2 M. A3 CABINET
le resultat de la macro donnera exemple en feuille 1 celulle E2 TOTO E3 TATA E4 DFG
merci d avance stefane
michdenis
Bonjour,
Il y a aussi cette approche :
'-------------------------------------- Sub Essaie()
Dim Arr As Variant, Rg As Range Dim A As Long, B As Long
With Worksheets("Feuil2") Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value End With
With Worksheets("Feuil1") Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row) End With
Application.ScreenUpdating = False Application.EnableEvents = False For A = 1 To UBound(Arr, 1) For b = 1 To UBound(Arr, 2) Rg.Replace Arr(A, b), "" Next Next Application.ScreenUpdating = True Application.EnableEvents = True End Sub '--------------------------------------
"maud s" a écrit dans le message de groupe de discussion :
Bonjour voici mon probleme j aimerais que ce soit en vba dans la feuille1 en celulle e1 jusqu Exxxx j ai des noms avec M. MME MADAME etc...
je voulais que dans la feuil2 en colonne A quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots "cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle E2 M. TOTO E3 MME TATA E4 CABINET DFG
en feuille 2 A1 MME A2 M. A3 CABINET
le resultat de la macro donnera exemple en feuille 1 celulle E2 TOTO E3 TATA E4 DFG
merci d avance stefane
Bonjour,
Il y a aussi cette approche :
'--------------------------------------
Sub Essaie()
Dim Arr As Variant, Rg As Range
Dim A As Long, B As Long
With Worksheets("Feuil2")
Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value
End With
With Worksheets("Feuil1")
Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row)
End With
Application.ScreenUpdating = False
Application.EnableEvents = False
For A = 1 To UBound(Arr, 1)
For b = 1 To UBound(Arr, 2)
Rg.Replace Arr(A, b), ""
Next
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'--------------------------------------
"maud s" <maud2604@neuf.fr> a écrit dans le message de groupe de discussion :
utn2kksYKHA.1592@TK2MSFTNGP06.phx.gbl...
Bonjour
voici mon probleme
j aimerais que ce soit en vba
dans la feuille1
en celulle e1 jusqu Exxxx j ai des noms
avec
M.
MME
MADAME
etc...
je voulais que dans la feuil2
en colonne A
quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots
"cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle
E2 M. TOTO
E3 MME TATA
E4 CABINET DFG
en feuille 2
A1 MME
A2 M.
A3 CABINET
le resultat de la macro donnera
exemple en feuille 1 celulle
E2 TOTO
E3 TATA
E4 DFG
'-------------------------------------- Sub Essaie()
Dim Arr As Variant, Rg As Range Dim A As Long, B As Long
With Worksheets("Feuil2") Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value End With
With Worksheets("Feuil1") Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row) End With
Application.ScreenUpdating = False Application.EnableEvents = False For A = 1 To UBound(Arr, 1) For b = 1 To UBound(Arr, 2) Rg.Replace Arr(A, b), "" Next Next Application.ScreenUpdating = True Application.EnableEvents = True End Sub '--------------------------------------
"maud s" a écrit dans le message de groupe de discussion :
Bonjour voici mon probleme j aimerais que ce soit en vba dans la feuille1 en celulle e1 jusqu Exxxx j ai des noms avec M. MME MADAME etc...
je voulais que dans la feuil2 en colonne A quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots "cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle E2 M. TOTO E3 MME TATA E4 CABINET DFG
en feuille 2 A1 MME A2 M. A3 CABINET
le resultat de la macro donnera exemple en feuille 1 celulle E2 TOTO E3 TATA E4 DFG
merci d avance stefane
maud s
cette proposition marche aussi
merci
"Hervé" a écrit dans le message de news:
Bonjour, Une autre façon parmis tant d'autres :
Sub Chercher()
Dim Fe1 As Worksheet Dim Fe2 As Worksheet Dim Plage_Fe1 As Range Dim Plage_Fe2 As Range Dim Cel_Fe1 As Range Dim Cel_Fe2 As Range Dim Adr As String Dim Texte As String
Set Fe1 = Worksheets("Feuil1") Set Fe2 = Worksheets("Feuil2")
With Fe1 Set Plage_Fe1 = .Range(.[E1], .[E65536].End(xlUp)) End With
With Fe2 Set Plage_Fe2 = .Range(.[A1], .[A65536].End(xlUp)) End With
For Each Cel_Fe2 In Plage_Fe2
Set Cel_Fe1 = Plage_Fe1.Find(Cel_Fe2, , xlValues)
If Not Cel_Fe1 Is Nothing Then Adr = Cel_Fe1.Address Do Set Cel_Fe1 = Plage_Fe1.FindNext(Cel_Fe1) Cel_Fe1 = Replace(Cel_Fe1, Cel_Fe2 & " ", "") Loop While Cel_Fe1.Address <> Adr End If
Next Cel_Fe2
Set Cel_Fe1 = Nothing Set Cel_Fe2 = Nothing Set Plage_Fe1 = Nothing Set Plage_Fe2 = Nothing Set Fe1 = Nothing Set Fe2 = Nothing
End Sub
Hervé.
"maud s" a écrit dans le message de news:
Bonjour voici mon probleme j aimerais que ce soit en vba dans la feuille1 en celulle e1 jusqu Exxxx j ai des noms avec M. MME MADAME etc...
je voulais que dans la feuil2 en colonne A quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots "cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle E2 M. TOTO E3 MME TATA E4 CABINET DFG
en feuille 2 A1 MME A2 M. A3 CABINET
le resultat de la macro donnera exemple en feuille 1 celulle E2 TOTO E3 TATA E4 DFG
merci d avance stefane
cette proposition marche aussi
merci
"Hervé" <mhsilve@orange.fr> a écrit dans le message de news:
uD4HD7sYKHA.3712@TK2MSFTNGP06.phx.gbl...
Bonjour,
Une autre façon parmis tant d'autres :
Sub Chercher()
Dim Fe1 As Worksheet
Dim Fe2 As Worksheet
Dim Plage_Fe1 As Range
Dim Plage_Fe2 As Range
Dim Cel_Fe1 As Range
Dim Cel_Fe2 As Range
Dim Adr As String
Dim Texte As String
Set Fe1 = Worksheets("Feuil1")
Set Fe2 = Worksheets("Feuil2")
With Fe1
Set Plage_Fe1 = .Range(.[E1], .[E65536].End(xlUp))
End With
With Fe2
Set Plage_Fe2 = .Range(.[A1], .[A65536].End(xlUp))
End With
For Each Cel_Fe2 In Plage_Fe2
Set Cel_Fe1 = Plage_Fe1.Find(Cel_Fe2, , xlValues)
If Not Cel_Fe1 Is Nothing Then
Adr = Cel_Fe1.Address
Do
Set Cel_Fe1 = Plage_Fe1.FindNext(Cel_Fe1)
Cel_Fe1 = Replace(Cel_Fe1, Cel_Fe2 & " ", "")
Loop While Cel_Fe1.Address <> Adr
End If
Next Cel_Fe2
Set Cel_Fe1 = Nothing
Set Cel_Fe2 = Nothing
Set Plage_Fe1 = Nothing
Set Plage_Fe2 = Nothing
Set Fe1 = Nothing
Set Fe2 = Nothing
End Sub
Hervé.
"maud s" <maud2604@neuf.fr> a écrit dans le message de
news:utn2kksYKHA.1592@TK2MSFTNGP06.phx.gbl...
Bonjour
voici mon probleme
j aimerais que ce soit en vba
dans la feuille1
en celulle e1 jusqu Exxxx j ai des noms
avec
M.
MME
MADAME
etc...
je voulais que dans la feuil2
en colonne A
quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots
"cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle
E2 M. TOTO
E3 MME TATA
E4 CABINET DFG
en feuille 2
A1 MME
A2 M.
A3 CABINET
le resultat de la macro donnera
exemple en feuille 1 celulle
E2 TOTO
E3 TATA
E4 DFG
Dim Fe1 As Worksheet Dim Fe2 As Worksheet Dim Plage_Fe1 As Range Dim Plage_Fe2 As Range Dim Cel_Fe1 As Range Dim Cel_Fe2 As Range Dim Adr As String Dim Texte As String
Set Fe1 = Worksheets("Feuil1") Set Fe2 = Worksheets("Feuil2")
With Fe1 Set Plage_Fe1 = .Range(.[E1], .[E65536].End(xlUp)) End With
With Fe2 Set Plage_Fe2 = .Range(.[A1], .[A65536].End(xlUp)) End With
For Each Cel_Fe2 In Plage_Fe2
Set Cel_Fe1 = Plage_Fe1.Find(Cel_Fe2, , xlValues)
If Not Cel_Fe1 Is Nothing Then Adr = Cel_Fe1.Address Do Set Cel_Fe1 = Plage_Fe1.FindNext(Cel_Fe1) Cel_Fe1 = Replace(Cel_Fe1, Cel_Fe2 & " ", "") Loop While Cel_Fe1.Address <> Adr End If
Next Cel_Fe2
Set Cel_Fe1 = Nothing Set Cel_Fe2 = Nothing Set Plage_Fe1 = Nothing Set Plage_Fe2 = Nothing Set Fe1 = Nothing Set Fe2 = Nothing
End Sub
Hervé.
"maud s" a écrit dans le message de news:
Bonjour voici mon probleme j aimerais que ce soit en vba dans la feuille1 en celulle e1 jusqu Exxxx j ai des noms avec M. MME MADAME etc...
je voulais que dans la feuil2 en colonne A quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots "cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle E2 M. TOTO E3 MME TATA E4 CABINET DFG
en feuille 2 A1 MME A2 M. A3 CABINET
le resultat de la macro donnera exemple en feuille 1 celulle E2 TOTO E3 TATA E4 DFG
merci d avance stefane
maud s
cette solution laisse un espace avant le résultat mais rien de grave
merci beaucoup à vous
"michdenis" a écrit dans le message de news: OB%
Bonjour,
Il y a aussi cette approche :
'-------------------------------------- Sub Essaie()
Dim Arr As Variant, Rg As Range Dim A As Long, B As Long
With Worksheets("Feuil2") Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value End With
With Worksheets("Feuil1") Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row) End With
Application.ScreenUpdating = False Application.EnableEvents = False For A = 1 To UBound(Arr, 1) For b = 1 To UBound(Arr, 2) Rg.Replace Arr(A, b), "" Next Next Application.ScreenUpdating = True Application.EnableEvents = True End Sub '--------------------------------------
"maud s" a écrit dans le message de groupe de discussion :
Bonjour voici mon probleme j aimerais que ce soit en vba dans la feuille1 en celulle e1 jusqu Exxxx j ai des noms avec M. MME MADAME etc...
je voulais que dans la feuil2 en colonne A quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots "cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle E2 M. TOTO E3 MME TATA E4 CABINET DFG
en feuille 2 A1 MME A2 M. A3 CABINET
le resultat de la macro donnera exemple en feuille 1 celulle E2 TOTO E3 TATA E4 DFG
merci d avance stefane
cette solution laisse un espace avant le résultat
mais rien de grave
merci beaucoup à vous
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OB%23pufuYKHA.4148@TK2MSFTNGP04.phx.gbl...
Bonjour,
Il y a aussi cette approche :
'--------------------------------------
Sub Essaie()
Dim Arr As Variant, Rg As Range
Dim A As Long, B As Long
With Worksheets("Feuil2")
Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value
End With
With Worksheets("Feuil1")
Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row)
End With
Application.ScreenUpdating = False
Application.EnableEvents = False
For A = 1 To UBound(Arr, 1)
For b = 1 To UBound(Arr, 2)
Rg.Replace Arr(A, b), ""
Next
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'--------------------------------------
"maud s" <maud2604@neuf.fr> a écrit dans le message de groupe de
discussion :
utn2kksYKHA.1592@TK2MSFTNGP06.phx.gbl...
Bonjour
voici mon probleme
j aimerais que ce soit en vba
dans la feuille1
en celulle e1 jusqu Exxxx j ai des noms
avec
M.
MME
MADAME
etc...
je voulais que dans la feuil2
en colonne A
quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots
"cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle
E2 M. TOTO
E3 MME TATA
E4 CABINET DFG
en feuille 2
A1 MME
A2 M.
A3 CABINET
le resultat de la macro donnera
exemple en feuille 1 celulle
E2 TOTO
E3 TATA
E4 DFG
cette solution laisse un espace avant le résultat mais rien de grave
merci beaucoup à vous
"michdenis" a écrit dans le message de news: OB%
Bonjour,
Il y a aussi cette approche :
'-------------------------------------- Sub Essaie()
Dim Arr As Variant, Rg As Range Dim A As Long, B As Long
With Worksheets("Feuil2") Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value End With
With Worksheets("Feuil1") Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row) End With
Application.ScreenUpdating = False Application.EnableEvents = False For A = 1 To UBound(Arr, 1) For b = 1 To UBound(Arr, 2) Rg.Replace Arr(A, b), "" Next Next Application.ScreenUpdating = True Application.EnableEvents = True End Sub '--------------------------------------
"maud s" a écrit dans le message de groupe de discussion :
Bonjour voici mon probleme j aimerais que ce soit en vba dans la feuille1 en celulle e1 jusqu Exxxx j ai des noms avec M. MME MADAME etc...
je voulais que dans la feuil2 en colonne A quelque soit la liste de mots "cles" que je mets en Colonne A
une boucle balayant la colonne E de la feuille1 en supprimant les mots "cles" trouvé dans la colonne de feuille2.
exemple en feuille 1 celulle E2 M. TOTO E3 MME TATA E4 CABINET DFG
en feuille 2 A1 MME A2 M. A3 CABINET
le resultat de la macro donnera exemple en feuille 1 celulle E2 TOTO E3 TATA E4 DFG
merci d avance stefane
maud s
la premiere version marche super bien aussi QUELLE LA DIFFERENCE DE TRAITEMENT ENTRE LES 3?
ET VUE DE NEZ AVANTAGE ET DESAVANTAGES DE CHACUNE, car j arrive au même résultat. (excusez moi pour le debut du message en majuscule).. sauf pour la troisième qui laisse un espace avant chaque résultat.
merci
"FFO" a écrit dans le message de news:
Salut à toi
Avec les données implantées telles que tu l'as décrit Je te propose ce code :
i = 1 Do While i < Sheets("Feuil2").Range("A65535").End(xlUp).Row + 1 For Each c In Worksheets("Feuil1").Range("E2", "E" & Sheets ("Feuil1").Range("E65535").End(xlUp).Row) If c Like Sheets("Feuil2").Range("A" & i) & "*" Then c.Value = Replace(c, Sheets("Feuil2").Range("A" & i), "") c.Value = Replace(c, " ", "") End If Next i = i + 1 Loop
Fais des essais et dis moi !!!!!!!
la premiere version marche super bien aussi
QUELLE LA DIFFERENCE DE TRAITEMENT ENTRE LES 3?
ET VUE DE NEZ AVANTAGE ET DESAVANTAGES DE CHACUNE, car j arrive au même
résultat.
(excusez moi pour le debut du message en majuscule).. sauf pour la troisième
qui laisse un espace avant chaque résultat.
merci
"FFO" <francois.forcet@wanadoo.fr> a écrit dans le message de news:
6543d2a1-9a86-4773-9b4f-5bc5625afe1d@n35g2000yqm.googlegroups.com...
Salut à toi
Avec les données implantées telles que tu l'as décrit
Je te propose ce code :
i = 1
Do While i < Sheets("Feuil2").Range("A65535").End(xlUp).Row + 1
For Each c In Worksheets("Feuil1").Range("E2", "E" & Sheets
("Feuil1").Range("E65535").End(xlUp).Row)
If c Like Sheets("Feuil2").Range("A" & i) & "*" Then
c.Value = Replace(c, Sheets("Feuil2").Range("A" & i), "")
c.Value = Replace(c, " ", "")
End If
Next
i = i + 1
Loop
la premiere version marche super bien aussi QUELLE LA DIFFERENCE DE TRAITEMENT ENTRE LES 3?
ET VUE DE NEZ AVANTAGE ET DESAVANTAGES DE CHACUNE, car j arrive au même résultat. (excusez moi pour le debut du message en majuscule).. sauf pour la troisième qui laisse un espace avant chaque résultat.
merci
"FFO" a écrit dans le message de news:
Salut à toi
Avec les données implantées telles que tu l'as décrit Je te propose ce code :
i = 1 Do While i < Sheets("Feuil2").Range("A65535").End(xlUp).Row + 1 For Each c In Worksheets("Feuil1").Range("E2", "E" & Sheets ("Feuil1").Range("E65535").End(xlUp).Row) If c Like Sheets("Feuil2").Range("A" & i) & "*" Then c.Value = Replace(c, Sheets("Feuil2").Range("A" & i), "") c.Value = Replace(c, " ", "") End If Next i = i + 1 Loop
Fais des essais et dis moi !!!!!!!
michdenis
| cette solution laisse un espace avant le résultat | mais rien de grave
Tu veux bien préciser ta pensée s.v.p ?
| cette solution laisse un espace avant le résultat
| mais rien de grave
| cette solution laisse un espace avant le résultat | mais rien de grave
Tu veux bien préciser ta pensée s.v.p ?
michdenis
Ok. Si ton objectif est de remplacer tout le contenu de la colonne E1:Ex dès qu'il y a un mot contenu dans une cellule de la colonne A:A de la feuil2, tu modifies cette ligne de code de la procédure soumise : Rg.Replace Arr(A, b), "" par celle-ci Rg.Replace "*" & Arr(A, B) & "*", ""
Et tes cellules seront totalement vides.
La procédure suivante telle qu'elle est écrite supprimait seulement la chaîne de caractères spécifiées dans la plage A:A de la feuille2, Sans plus.
'------------------------------------------ Sub Essaie()
Dim Arr As Variant, Rg As Range Dim A As Long, B As Long
With Worksheets("Feuil2") Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value End With
With Worksheets("Feuil1") Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row) End With
Application.ScreenUpdating = False Application.EnableEvents = False For A = 1 To UBound(Arr, 1) For b = 1 To UBound(Arr, 2) Rg.Replace Arr(A, b), "" Next Next Application.ScreenUpdating = True Application.EnableEvents = True End Sub '--------------------------------------
Ok. Si ton objectif est de remplacer tout le contenu
de la colonne E1:Ex dès qu'il y a un mot contenu dans
une cellule de la colonne A:A de la feuil2, tu modifies
cette ligne de code de la procédure soumise :
Rg.Replace Arr(A, b), ""
par celle-ci
Rg.Replace "*" & Arr(A, B) & "*", ""
Et tes cellules seront totalement vides.
La procédure suivante telle qu'elle est écrite supprimait
seulement la chaîne de caractères spécifiées dans la plage
A:A de la feuille2, Sans plus.
'------------------------------------------
Sub Essaie()
Dim Arr As Variant, Rg As Range
Dim A As Long, B As Long
With Worksheets("Feuil2")
Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value
End With
With Worksheets("Feuil1")
Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row)
End With
Application.ScreenUpdating = False
Application.EnableEvents = False
For A = 1 To UBound(Arr, 1)
For b = 1 To UBound(Arr, 2)
Rg.Replace Arr(A, b), ""
Next
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'--------------------------------------
Ok. Si ton objectif est de remplacer tout le contenu de la colonne E1:Ex dès qu'il y a un mot contenu dans une cellule de la colonne A:A de la feuil2, tu modifies cette ligne de code de la procédure soumise : Rg.Replace Arr(A, b), "" par celle-ci Rg.Replace "*" & Arr(A, B) & "*", ""
Et tes cellules seront totalement vides.
La procédure suivante telle qu'elle est écrite supprimait seulement la chaîne de caractères spécifiées dans la plage A:A de la feuille2, Sans plus.
'------------------------------------------ Sub Essaie()
Dim Arr As Variant, Rg As Range Dim A As Long, B As Long
With Worksheets("Feuil2") Arr = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value End With
With Worksheets("Feuil1") Set Rg = .Range("E1:E" & .Range("E65536").End(xlUp).Row) End With
Application.ScreenUpdating = False Application.EnableEvents = False For A = 1 To UBound(Arr, 1) For b = 1 To UBound(Arr, 2) Rg.Replace Arr(A, b), "" Next Next Application.ScreenUpdating = True Application.EnableEvents = True End Sub '--------------------------------------