Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Extraire un terme d'une cellule

Mathieu_dup

XLDnaute Nouveau
Bonjour à tous,

Je voudrais extraire un terme d'une cellule mais je n'ai pas forcément d'idée de formule à utiliser pour y arriver.

En fait, c'est une extraction d'une base de données et dans la colonne "Commentaire" j'aimerais extraire les 6 chiffres qui se trouve juste après les termes IP.

Exemple :
A B (extraction)
1- Suite à commande, nous sortons un IP 123456 123456
2- Article IP 345678 plus en stock 345678

Je sais pas si c'est assez clair.

Merci pour votre aide

Mathieu
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum


Pour les gens qui aiment regarder leurs doigts en action
(Si les données en colonne A)
F5
A:A
ENTER
CTRL+H
ALT+C
IP ESPACE
TAB
$
ALT+A
ESC
Données/Convertir
ALT+D
ALT+S
ALT+R
$
ALT+S
ALT+C
ALT+E
B1
ALT+T
F5
B:B

Finalement,mes doigts devenant gourds, je me suis résolu à macroter
VB:
Sub Macro1()
Dim ension
Dim inutif
ension = Array(Array(1, 9), Array(2, 1))
inutif = Array(Array(1, 1), Array(2, 9), Array(3, 9), Array(4, 9))
Application.Goto Reference:="C1"
Selection.Replace What:="IP ", Replacement:="$", LookAt:=xlPart, SearchOrder:=xlByRows
Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, Space:=False, Other:=True, OtherChar:="$", FieldInfo:=ension
Application.Goto Reference:="C2"
Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, Space:=True, FieldInfo:=inutif
End Sub

EDITION: La même macro mais sans Selection
VB:
Sub Macro1B()
Dim ension: ension = Array(Array(1, 9), Array(2, 1))
Columns(1).Replace What:="IP ", Replacement:="$", LookAt:=2, SearchOrder:=1
Columns(1).TextToColumns Destination:=Range("B1"), DataType:=1, Space:=0, Other:=-1, OtherChar:="$", FieldInfo:=ension
Columns(2).TextToColumns Destination:=Range("B1"), DataType:=1, Space:=-1, FieldInfo:=Array(1, 1)
Columns(3).Resize(, Columns.Count - 2).ClearContents
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

@job75
Re,
Les solutions simples sont souvent les meilleures
A+

Effectivement, dans ce cas alors, pas besoin de VBA
Mettre la formule:=SIERREUR(--STXT(A2;TROUVE("IP";A2&"IP")+3;6);"") en B2 puis double-clic coin droit bas de B2

Et comme cela on rejoint la demande du premier message
Bonjour à tous,
Je voudrais extraire un terme d'une cellule mais je n'ai pas forcément d'idée de formule à utiliser pour y arriver.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…