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)
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
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)
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
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)
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)
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Modeste
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...
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 !!!!
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...
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...
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...
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...