extraire 1e et derniere vue de serie dans liste

Le
jip
bonjour
j'ai un tableau sous excel 2010 avec des noms de vues (+9000 environ) sous =
cette forme :

140T6_1_0001.jpg
140T6_1_0002.jpg
140T6_1_0003.jpg
140T6_1_0004.jpg
140T6_11_0001.jpg
140T6_11_0002.jpg
140T6_11_0003.jpg
140T6_11_0004.jpg
140T6_11_0005.jpg
140T6_11_0006.jpg
140T6_11_0007.jpg
140T6_11_0008.jpg
140T6_12_0001.jpg
140T6_12_0002.jpg
140T6_12_0003.jpg
140T6_12_0004.jpg
140T6_12_0005.jpg
140T6_12_0006.jpg
140T6_12_0007.jpg
140T6_15_0001.jpg
140T6_15_0002.jpg
140T6_15_0003.jpg
140T6_15_0004.jpg
140T6_15_0005.jpg
140T6_15_0006.jpg
etc

le chiffre après 140T varie de 6 à 23, le chiffre entre les tiret=
s varie de 1 à 675, et le numéro d'image est à 1 ou 2 chiffr=
es significatifs, exemple 140T22_550_0026.jpg

Je souhaite extraire, pour utiliser dans un logiciel le nom de la 1e et de =
la derniere vue à chaque variation du chiffre entre tirets.
exemple 140T6_1_0001.jpg et 140T6_1_0004.jpg dans 2 colonnes différent=
es si possible.

Une idée ?
Merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #26473193
Bonjour,
Ce serait plus facile et rapide avec une macro. Qu'en penses-tu ?
Cordialement.
Daniel
bonjour
j'ai un tableau sous excel 2010 avec des noms de vues (+9000 environ) sous
cette forme :
140T6_1_0001.jpg
140T6_1_0002.jpg
140T6_1_0003.jpg
140T6_1_0004.jpg
140T6_11_0001.jpg
140T6_11_0002.jpg
140T6_11_0003.jpg
140T6_11_0004.jpg
140T6_11_0005.jpg
140T6_11_0006.jpg
140T6_11_0007.jpg
140T6_11_0008.jpg
140T6_12_0001.jpg
140T6_12_0002.jpg
140T6_12_0003.jpg
140T6_12_0004.jpg
140T6_12_0005.jpg
140T6_12_0006.jpg
140T6_12_0007.jpg
140T6_15_0001.jpg
140T6_15_0002.jpg
140T6_15_0003.jpg
140T6_15_0004.jpg
140T6_15_0005.jpg
140T6_15_0006.jpg
etc
le chiffre après 140T varie de 6 à 23, le chiffre entre les tirets varie de 1
à 675, et le numéro d'image est à 1 ou 2 chiffres significatifs, exemple
140T22_550_0026.jpg
Je souhaite extraire, pour utiliser dans un logiciel le nom de la 1e et de la
derniere vue à chaque variation du chiffre entre tirets. exemple
140T6_1_0001.jpg et 140T6_1_0004.jpg dans 2 colonnes différentes si possible.
Une idée ?
Merci
Michd
Le #26473196
Bonjour,
En supposant que toutes tes données sont en ordre croissant comme dans ton
exemple,
Le résultat s'affiche dans les 2 colonnes à droite de la plage de cellules.
'------------------------------------------------------------
Sub test()
Dim D As Object, B As Long, A As Long
Dim Rg As Range, C As Range
'Nom de l'onglet de la feuille et l'adresse de la
'plage de cellules à adapter.
With Worksheets("Feuil1")
Set Rg = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With
Set D = CreateObject("Scripting.dictionary")
Application.ScreenUpdating = False
Application.EnableEvents = False
B = 1
For Each C In Rg
If Not D.Exists((Split(C, "_")(1))) Then
D.Add Split(C, "_")(1), C.Row
If A = 0 Then
Rg(B).Offset(, 1).Value = Rg(B, 1).Value
A = A + 1
Else
Rg(B, 1).Offset(-1, 2).Value = Rg(C.Row, 1).Offset(-2).Value
Rg(B, 1).Offset(, 1).Value = Rg(C.Row, 1).Offset(-1).Value
End If
B = B + 1
End If
If C.Row = Rg(Rg.Rows.Count, 1).Row Then
Rg(B, 1).Offset(-1, 2).Value = Rg(C.Row, 1).Offset(-1).Value
End If
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'------------------------------------------------------------
MichD
"jip" a écrit dans le message de groupe de discussion :

bonjour
j'ai un tableau sous excel 2010 avec des noms de vues (+9000 environ) sous
cette forme :
140T6_1_0001.jpg
140T6_1_0002.jpg
140T6_1_0003.jpg
140T6_1_0004.jpg
140T6_11_0001.jpg
140T6_11_0002.jpg
140T6_11_0003.jpg
140T6_11_0004.jpg
140T6_11_0005.jpg
140T6_11_0006.jpg
140T6_11_0007.jpg
140T6_11_0008.jpg
140T6_12_0001.jpg
140T6_12_0002.jpg
140T6_12_0003.jpg
140T6_12_0004.jpg
140T6_12_0005.jpg
140T6_12_0006.jpg
140T6_12_0007.jpg
140T6_15_0001.jpg
140T6_15_0002.jpg
140T6_15_0003.jpg
140T6_15_0004.jpg
140T6_15_0005.jpg
140T6_15_0006.jpg
etc
le chiffre après 140T varie de 6 à 23, le chiffre entre les tirets varie de
1 à 675, et le numéro d'image est à 1 ou 2 chiffres significatifs, exemple
140T22_550_0026.jpg
Je souhaite extraire, pour utiliser dans un logiciel le nom de la 1e et de
la derniere vue à chaque variation du chiffre entre tirets.
exemple 140T6_1_0001.jpg et 140T6_1_0004.jpg dans 2 colonnes différentes si
possible.
Une idée ?
Merci
jip
Le #26473239
Le mercredi 25 avril 2018 20:36:41 UTC+2, Michd a écrit :
Bonjour,
En supposant que toutes tes données sont en ordre croissant comme da ns ton
exemple,
Le résultat s'affiche dans les 2 colonnes à droite de la plage de cellules.


Bravo et merci, la macro fonctionne.
Que de temps gagné.
Merci encore
Publicité
Poster une réponse
Anonyme