Rechercher : dans
Par :

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

Dernière réponse le 7 avr 2008 à 09:19:47 MattDF, le 4 avr 2008 à 10:07:52 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [excel] copier en partie le texte d'1 cellule » dans :
[VBA:VB6] Se servir d'excel à partir d'une autre application VoirCette petite routine permet d'appeler excel à partir de VB6 ou d'une autre application Office. A coller dans un module général (Module1 par exemple) En VBA >> Insertion >> Module, et dans cette fenêtre coller... En VB6 >> Projet >> Ajouter un...
Tableur - Les cellules VoirLa notion de cellule On appelle "cellule" l'intersection entre une ligne (horizontale) et une colonne (verticale) de la feuille de calcul. Ainsi le nom de la ligne combiné au nom de la colonne donne les coordonnées d'une cellule (le terme d'adresse...

1

amigo, le 4 avr 2008 à 10:53:00

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

Répondre à amigo

2

MattDF, le 4 avr 2008 à 16:02:03

Merci beaucoup ^^

Répondre à MattDF

3

LePierre, le 4 avr 2008 à 18:53:29

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

Répondre à LePierre

4

 MattDF, le 7 avr 2008 à 09:19:47

Merci pour ce code ! C'est très aimable ! ^^

Répondre à MattDF
Collection CommentÇaMarche.net