Concaténation "aléatoire"

Le
Patrick BASTARD
Bonsoir, toutes et tous.

Désolé pour l'objet sibyllin, mais un exemple me paraissant plus clair :
L'un(e) d'entre vous aurait-il une idée pour transformer la colonne 1 en
colonne 2 ?
Soit, quand les 11 premiers caractères d'une série sont semblables, les
conserver, et y concaténer les 2 derniers caractères alpha de l'une des
valeurs de cette série comptant 13 caractères ?
Seules 2 valeurs sont possibles dans une même série (13 et 15 caractères).
VBA apprécié, car environ 6000 lignes par semaine, et actuellement, tout à
la mimine
(Excel 2002)


Colonne 1 Colonne 2
AP783338725AA AP783338725AA
AP783338725336N AP783338725AA
AP783338725AA AP783338725AA
AP783338725336N AP783338725AA
AP783338725336N AP783338725AA
AP783338725336N AP783338725AA
BA719038038336G BA719038038JB
BA719038038JB BA719038038JB
BA719038038JB BA719038038JB
BA719038038336G BA719038038JB
BA719038038336G BA719038038JB
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265336K BE719137265CN
BE719137265336K BE719137265CN
BE719137265CN BE719137265CN
BE719137265336K BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BJ219136703VO BJ219136703VO
BJ219136703VO BJ219136703VO
BJ2191367033363 BJ219136703VO
BJ219136703VO BJ219136703VO
BJ2191367033363 BJ219136703VO
BJ219136703VO BJ219136703VO
BJ219136703VO BJ219136703VO
Je vous remercie à l'avance pour toute suggestion.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrick BASTARD
Le #4268741
Re,

Tableau illisible.
Voici un lien avec l'exemple :
http://cjoint.com/?efwR3sgWpu


--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Gaston
Le #4268441
Salut Patrick

Essais ceci:
Sub Concaténère()
For a = 1 To Range("A65000").End(xlUp).Row
If Len(Cells(a, 1)) = 13 Then 'Trouve le premier guide
nouveau = Cells(a, 1)
Exit For
End If
Next a
For i = 1 To Range("A65000").End(xlUp).Row
If Left(Cells(i, 1), 11) = Left(nouveau, 11) Then
Cells(i, 2) = nouveau 'Place le guide
Else
For j = i To Range("A65000").End(xlUp).Row
If Len(Cells(j, 1)) = 13 Then 'Trouve les autres guides
nouveau = Cells(j, 1)
Cells(i, 2) = nouveau
Exit For
End If
Next j
End If
Next i
End Sub
Bye
Gaston

"Patrick BASTARD" wrote:

Bonsoir, toutes et tous.

Désolé pour l'objet sibyllin, mais un exemple me paraissant plus clair :
L'un(e) d'entre vous aurait-il une idée pour transformer la colonne 1 en
colonne 2 ?
Soit, quand les 11 premiers caractères d'une série sont semblables, les
conserver, et y concaténer les 2 derniers caractères alpha de l'une des
valeurs de cette série comptant 13 caractères ?
Seules 2 valeurs sont possibles dans une même série (13 et 15 caractères).
VBA apprécié, car environ 6000 lignes par semaine, et actuellement, tout à
la mimine...
(Excel 2002)


Colonne 1 Colonne 2
AP783338725AA AP783338725AA
AP783338725336N AP783338725AA
AP783338725AA AP783338725AA
AP783338725336N AP783338725AA
AP783338725336N AP783338725AA
AP783338725336N AP783338725AA
BA719038038336G BA719038038JB
BA719038038JB BA719038038JB
BA719038038JB BA719038038JB
BA719038038336G BA719038038JB
BA719038038336G BA719038038JB
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265336K BE719137265CN
BE719137265336K BE719137265CN
BE719137265CN BE719137265CN
BE719137265336K BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BE719137265CN BE719137265CN
BJ219136703VO BJ219136703VO
BJ219136703VO BJ219136703VO
BJ2191367033363 BJ219136703VO
BJ219136703VO BJ219136703VO
BJ2191367033363 BJ219136703VO
BJ219136703VO BJ219136703VO
BJ219136703VO BJ219136703VO
Je vous remercie à l'avance pour toute suggestion.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.





Modeste
Le #4268221
Bonsour® Patrick BASTARD avec ferveur vous nous disiez :

Désolé pour l'objet sibyllin, mais un exemple me paraissant plus clair :
L'un(e) d'entre vous aurait-il une idée pour transformer la colonne 1 en
colonne 2 ?
Soit, quand les 11 premiers caractères d'une série sont semblables, les
conserver, et y concaténer les 2 derniers caractères alpha de l'une des
valeurs de cette série comptant 13 caractères ?
Seules 2 valeurs sont possibles dans une même série (13 et 15 caractères).
VBA apprécié, car environ 6000 lignes par semaine, et actuellement, tout à
la mimine...



Colonne 1 Colonne 2
AP783338725AA AP783338725AA
AP783338725336N AP783338725AA
AP783338725AA AP783338725AA


Trier les données de la colonne 1 en ordre DECROISSANT
en B1 ecrire la formule : =SI(NBCAR(A1);A1;DECALER(B1;-1;0))
recopier vers le bas en utilisant la poignée de recopie (double-clic)

faire ensuite un recopie spécial valeur si necessaire...

Grrrr.... 3eme envoi !!!!

Publicité
Poster une réponse
Anonyme