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

Résolu/Fermé
MattDF Messages postés 76 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 5 août 2009 - 4 avril 2008 à 10:07
MattDF Messages postés 76 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 5 août 2009 - 7 avril 2008 à 09:19
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 samedi 8 mars 2008 Statut Membre Dernière intervention 2 août 2012 337
4 avril 2008 à 18:53
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 vendredi 14 décembre 2007 Statut Membre Dernière intervention 5 août 2009 67
7 avril 2008 à 09:19
Merci pour ce code ! C'est très aimable ! ^^
2
MattDF Messages postés 76 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 5 août 2009 67
4 avril 2008 à 16:02
Merci beaucoup ^^
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+.
0