Sélectionner numéro de série dans excel

Résolu/Fermé
rona01 Messages postés 5 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 11 août 2012 - 10 août 2012 à 11:10
rona01 Messages postés 5 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 11 août 2012 - 11 août 2012 à 16:20
Bonjour,

Je suis en train de travaillé sur excel avec une liste de donnée. J'ai notamment une colonne qui contient les noms de produit suivit du numéro de série.
Par exemple: JAWS Std English (SN:411402). Je souhaiterais créer une macro pour copier le numéro de série (ici 411402) de chaque ligne et le déplacer dans une colonne différente (de la colonne H à O).
J'ai un peu lu comment fonctionnait les macros mais j'ignore comment copier seulement le numéro de série.
Merci d'avance pour votre aide.

A voir également:

7 réponses

Submin Messages postés 382 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 1 avril 2016 226
Modifié par Submin le 10/08/2012 à 11:35
Bonjour,

Essai cette formule dans VBA et ça devrait marcher!

Public Sub test() 
    Cells(1, 2) = Mid(Cells(1, 1), InStr(Cells(1, 1), "(SN:") + 4, Len(Cells(1, 1)) - (InStr(Cells(1, 1), "(SN:") + 4)) 
End Sub



J'ai considéré le nom du produit dans la cellule A1 et je met le résultat dans la cellule B1

Change ce que tu as besoin ;)

Tiens nous au courant

PS : Ma formule marche peux importe le nombre de paranthèse dans ton nom de produit tant qu'il y a marqué "(SN"
Par contre il faut que ceci soit à la fin de ton produit sinon ça marche pas! mais je peux modifier si nécessaire
0
Atok91 Messages postés 46 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 17 juillet 2015 1
10 août 2012 à 11:50
Pourquoi passer par une macro ?

Tu clique sur ta case de destination et tu fait inserer une fonction.
Tu recherche "droite" Tu cliques sur ta case de départ.
Puis ";" et le nombre de caractères à supprimer
le numéro va appraitre sans le "SN:"
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 10/08/2012 à 13:39
Bonjour,

comme dit atok : pourquoi une macro ?
=STXT(A1;4;50)
(valable pour 50 caractères max sur la référence)
à recopier vers le bas.

eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
rona01 Messages postés 5 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 11 août 2012
11 août 2012 à 11:02
Merci pour votre aide.
Voici à quoi ressemble le fichier excel, ca sera plus facile pour se comprend.

https://www.cjoint.com/?BHlk4OBl1UX

Je suis obligé de créer une macro (enfin je pense) car les noms de produit change en fonctions des lignes.

J'ai essayé cette macro (pour les 10 premières lignes) mais ca ne fonctionne pas

Sub test()

For nombre = 1 To 10

If Cells(nombre, 5) = "Invoice" Then

If Cells(nombre, 8) Like "*SN*" Then


Cells(nombre, 15) = Mid(Cells(nombre, 8), InStr(Cells(nombre, 8), "(SN:") + 4, Len(Cells(nombre, 8)) - (InStr(Cells(nombre, 8), "(SN:") + 4))

End If

End If

Next nombre

End Sub

Merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rona01 Messages postés 5 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 11 août 2012
11 août 2012 à 11:04
Je ne suis pas obligé d'avoir une macro qui marche pour toute les lignes (par exemple si sn n'est pas en majuscule ce n'est pas grave si ca ne marche pas). Je peux finir manuellement si y a quelques lignes à faire après
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 11/08/2012 à 12:25
Re,

=STXT(STXT(SUBSTITUE(SUBSTITUE(A1;"#";":");")";" ");CHERCHE("sn:";A1)+3;200)&" ";1;CHERCHE(" ";STXT(SUBSTITUE(SUBSTITUE(A1;"#";":");")";" ");CHERCHE("sn:";A1)+3;200)&" ")-1)

devrait t'en faire pas mal.
Les #SN9999 ne sont pas fait, ça serait alourdir la formule pour peu de cas. A la limite fait un remplacer #SN par SN: avant.

La prochaine fois post un fichier excel, je n'arrive pas à mettre de formule sur une image moi...

eric

Edit: je n'avais pas vu que #sn était suivi d'un espace.
Mieux vaut faire avec une colonne intermédiaire pour alléger la formule :
- en B1: =SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"sn# ";"sn:");")";" ");"#sn";"sn:")&" "
- en C1: =STXT(STXT(B1;CHERCHE("sn:";B1);200);4;CHERCHE(" ";STXT(B1;CHERCHE("sn:";B1);200))-4)
Du coup je t'ai ajouté les #sn.

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
rona01 Messages postés 5 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 11 août 2012
11 août 2012 à 13:30
Merci beaucoup! Vu la formule, cela m'aurait prit pas mal de temps à trouver.
Ca marche bien pour la plupart des cas donc ca m'aide (il y a 2000 lignes donc ca aurait été long à la main).
Merci encore!
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
11 août 2012 à 13:53
ok, je met en résolu pour toi.
eric
0
rona01 Messages postés 5 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 11 août 2012
11 août 2012 à 16:20
d'accord merci
0