Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
XL 2016Copier-Coller-Classer deux lignes en une seule
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Sub a()
Range("E3:P3").SpecialCells(xlCellTypeConstants, 1).Copy Range("E11")
Range("E4:P4").SpecialCells(xlCellTypeConstants, 1).Copy Range("K11")
Range("E11:P11").Sort Range("E11:P11"), Order1:=xlAscending, Orientation:=xlLeftToRight
End Sub
Malheureusement cela ne fonctionne pas parce que les numéros et la position des numéros peuvent varier avec le temps et le fait de fragmenter la ligne en deux ne permet pas de copier tous les numéros peu importe leur position.
On y est presque! Est-ce possible de ne pas effacer la ligne 6 au complet mais seulement entre E6 et P6 et fixer le nombre de numéro max à 12 même s'il y en a 14 ou 15 peu importe? Merci.
Oui.
1) Il te suffit de lire chaque ligne code VBA proposé et de comprendre où se situe la suppression de la ligne 6.
2) Il te suffit ensuite de jouer de l’enregistreur de macros en effaçant E6:p6
3) Il te suffit enfin de voir le code VBA généré par l'enregistreur et de faire les modifications dans le code initial.
Mais comme selon toi, je propose des codes VBA qui ne fonctionnent pas, ces trois conseils doivent être aussi dysfonctionnels 😉
Pourquoi es-tu aussi cynique? Ton code ne correspond pas tout à fait à mon besoin mais j'apprécie grandement tes efforts de m'avoir aidé à le résoudre. Je n'ai jamais voulu sous-entendre que ton code ne fonctionnait pas mais, plutôt, qu'il devait être adapté selon certains critères mais je n'arrivais pas à le faire par moi-même. J'en suis désolé. Au contraire, je trouve tes conseils très judicieux. Cela va me permettre de mieux comprendre les codes VBA car je suis trop vieux pour être de la génération de l'informatique. Je tiens à souligner ton effort et je t'en remercie.
C'est pas du cynisme, mais de l'ironie matinée d'un pointe d'amicalité.
A moins que ce ne soit le contraire 😉
Est-que tu as essayé l'enregistreur de macros ?
Si oui, tu devais avoirs quelque chose qui ressemble à cela, non ?
VB:
Sub c()
Dim DerCol As Long, plg As Range
[E6:P6] = Empty
[E3].Resize(, 12).SpecialCells(2, 1).Copy [E3].Offset(3)
DerCol = Cells([E3].Row + 3, Columns.Count).End(xlToLeft).Column + 1
[E3].Offset(1).Resize(, 12).SpecialCells(2, 1).Copy Cells([E3].Row + 3, DerCol)
Set plg = Cells(Rows.Count, "E").End(xlUp).Resize(, 12)
plg.Sort Key1:=plg, Order1:=xlAscending, Orientation:=xlLeftToRight
End Sub
Est-ce le cas ?
Pour infos: Voila ce que peuvent lire certains membres du forum sur ma page de profil
Penche plutôt du côté de VBA, que des formules. Mais je me soigne.
[ATTENTION]
Pratique l'humour à froid et l'ironie mordante.
Envers autrui comme envers moi-même.
Il ne faut pas trop m'en vouloir, je travaille sur ce problème depuis hier soir avec l'aide de l'enregistreur de macro et je n'ai toujours pas trouvé une solution. Je vais regarder ta proposition de code. Pour l'instant, je m'accorde une pause. Merci encore.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.