fonction Instr ou =droite

Arthur_martin53

XLDnaute Nouveau
bonjour,

dans une formule VBA j'ai ça :

Cells(i, 16).Value = Mid(Cells(i, 12).Value, 1, InStr(1, Cells(i, 12).Value, "(") - 1)

Le truc c'est que cette partie scanne une cellule qui comporte ça :
RCE 2009-2 TTY INTER +(8201070864-FY)

mais je ne souhaite pas récupérer la partie avec la "(" mais ce qu'il y a à partir de la "("
(ou plus précisément ce qu'il y a entre 8201070864-FY

J'ai tenté dans excel une formule plus simple dans la cellules avec =Droite(L50;15) mais je n'ai pas toujours les même infos.

Du coup j'hésite entre trouver une formule dans excel qui me dit prendre les infos entre parenthèses présentent dans telle cellule et si pas de parenthèse laisser vierge.

ou inclure une ligne VBA dans une macro que j'utilise de toute manière
 

hbenalia

XLDnaute Occasionnel
Re : fonction Instr ou =droite

Bonjour à tous,

Essayes avec l'instruction suivante (un peu longue):

Code:
Cells(i, 16).Value = Mid(Cells(i, 12).Value, InStr(1, Cells(i, 12).Value, "(") + 1, InStr(1, Cells(i, 12).Value, ")") - InStr(1, Cells(i, 12).Value, "(") - 1)


Cordialement
 

hbenalia

XLDnaute Occasionnel
Re : fonction Instr ou =droite

Bonjour à tous,

Si j'ai bien compris la question je te présente le code suivant:

Code:
If InStr(1, Cells(i, 12).Value, ")") = 0 Or (InStr(1, Cells(i, 12).Value, ")") = 0 And InStr(1, Cells(i, 12).Value, "(") <> 0) Then
Cells(i, 16).Value = Clear
Else
Cells(i, 16).Value = Mid(Cells(i, 12).Value, InStr(1, Cells(i, 12).Value, "(") + 1, InStr(1, Cells(i, 12).Value, ")") - InStr(1, Cells(i, 12).Value, "(") - 1)
End If

J'espère que le petit code répond à ta demande.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 860
Membres
103 978
dernier inscrit
bderradji