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

Résolu
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

4 réponses

  1. 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
    1. 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+.