Déplacer les cellules contenant un/des textes précis

Bonjour,

j'ai actuellement un tableur excel ou je doit déplacer, toutes les cellules de la colonne A contenant le mot "price:" vers la colonne C

et si dans un deuxième temps il serait possible de supprimer toutes les cellules vides de la colonne C sa serait le top.

PS : le tableur à une ligne entête donc les données commence en A2

j'ai besoin de votre aide svp.

Merci d'avances.

un p'tit fichier...

bonjour,

oui je peut mettre un fichier d'exemple mais c'est pas l'original

les explications sont dans la case en jaune.

Merci d'avance pour ton aide

15exemple-forum.xlsm (10.25 Ko)

Salut Alex, jmd,

voici ton fichier en supposant que le texte à rechercher soit systématiquement "price:" sans autre extravagance orthographique!

'
Dim tTab, tTabF()
'
Application.ScreenUpdating = False
'
iRow = Cells(Rows.Count, 1).End(xlUp).Row
tTab = Range("A2:A" & iRow)
'
For x = 1 To UBound(tTab, 1)
    If InStr(tTab(x, 1), "price:") > 0 Then
        iIdx = iIdx + 1
        ReDim Preserve tTabF(1, iIdx)
        tTabF(0, iIdx - 1) = tTab(x, 1)
    End If
Next
Range("C2").Resize(iIdx, 1) = WorksheetFunction.Transpose(tTabF)
'
Application.ScreenUpdating = True
'

A+

17enteteprice.xlsm (21.34 Ko)

Bonjour curulis57,

merci pour la solution qui fonctionne parfaitement, cependant j'aimerais également savoir si il est possible de faire en sorte que la macro recherche plusieurs mots, en occurrence dans cette macro le mot "Price:" et "price:" son des mots différents car majuscule

dans mon tableur actuel j'ai les différentes suggestion :

List price:

Your Price:

Special price:

ma question serait de savoir si avec ta macro il serait possible de récupéré

"Your Price:" & "Special price:" toujours en les déplacant dans la colonne C

Salut Alex,

je savais que j'aurais dû le faire tout de suite!

Private Sub cmdGO_Click()
'
Dim tTab, tTabF()
'
Application.ScreenUpdating = False
'
iRow = Cells(Rows.Count, 1).End(xlUp).Row
tTab = Range("A2:A" & iRow)
'
For x = 1 To UBound(tTab, 1)
    If InStr(LCase(tTab(x, 1)), "price") > 0 Then
        iIdx = iIdx + 1
        ReDim Preserve tTabF(1, iIdx)
        tTabF(0, iIdx - 1) = tTab(x, 1)
    End If
Next
Range("C2").Resize(iIdx, 1) = WorksheetFunction.Transpose(tTabF)
'
Application.ScreenUpdating = True
'
End Sub

A+

Re curulis57,

merci encore pour ta réponse seulement cela me récupère toutes les cellules contenant "price"

ce qui correspondrais a une v1.5 pour une macro v2.0 j'aimerais que la macro récupère seulement les cellules contenant

"Your Price:" & "Special price:"

comme ma précédente demande :

Alex38 a écrit :
curulis57 a écrit :

ma question serait de savoir si avec ta macro il serait possible de récupéré

"Your Price:" & "Special price:" toujours en les déplaçant dans la colonne C

merci d'avance pour ta réponse

Salut Alex,

essaye ainsi, en espérant que ces deux mots ne se retrouvent dans tes libellés que dans ces circonstances!

    If InStr(LCase(tTab(x, 1)), "special") > 0 Or InStr(LCase(tTab(x, 1)), "your") > 0 Then

A+

et bah c'est nickel tout fonctionne correctement

un grand merci a toi pour ton aide je passe cette demande en résolue

Rechercher des sujets similaires à "deplacer contenant textes precis"