[excel] copier en partie le texte d'1 cellule

Résolu
MattDF Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -  
MattDF Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je souhaiterai connaitre une formule macro permettant de copier le texte d'une cellule à partir d'un mot de cette même cellule.

Ainsi, si une cellule contient le texte "Facture n° 123456", il faut que je puisse récupérer uniquement ce qui est à droite de "n°", c'est à dire "123456".

Bien entendu, (autrement ce serait trop simple et je ne solliciterai pas votre aide) la position de la cellule n'est pas fixe dans la page(elle est juste située dans une région de la page), ni même le contenu de la case contenant la valeur à récupérer (ca peut être "facture", "invoice","note de credit", etc...). La seule constante de cette cellule est de posséder les caractères "n°".

Voilà pourquoi je sollicite votre aide pour savoir comment copier uniquement ce qui se trouve à droite de "n°".

J'ai déjà trouvé comment faire pour détecter la cellule :

Range("A1:G20").Select
For Each Cell In Selection
If Cell.Text Like "*N°*" Then
...


il me reste à trouver la suite

Merci d'avance
A voir également:

4 réponses

LePierre Messages postés 249 Date d'inscription   Statut Membre Dernière intervention   338
 
bonjour

essaye ce code :
Sub test()
    Range("A1:G20").Select
    For Each Cell In Selection
        If UCase(Cell.Text) Like "*N°*" Then
            Facture = Cell.Value
            x = InStr(UCase(Facture), "N°")
            NumFacture = Right(Facture, Len(Facture) - x - 2)
        End If
    Next
End Sub

ceci devrait répondre à ton problème en récupérant la variable NumFacture

à plus
2
MattDF Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   67
 
Merci pour ce code ! C'est très aimable ! ^^
2
MattDF Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   67
 
Merci beaucoup ^^
1
amigo
 
Bonjour,

Soit txtSerie la variable de type String qui récupère le numéro de Facture

txtSerie = Right(Cell.Text, Len(Cell.Text) - InStr(UCase(Cell.Text), "N°") - 1)

A+.
0