Lignes selectionnées copiées dans une même cellule (ALT + ENTREE)

mothinx

XLDnaute Nouveau
Bonjour à tous,

Etant novice en VBA (je m'y lance mais ce n'est pas évident), je fais appel à vous pour une maccro.

Le but est d'automatiser le principe d'utiliser ALT + Entrée pour écrire plusieurs lignes sur la même cellule.

Voir image exemple

Il serait interessant que le nombre de cellules selectionnées soit égale à celles qu'on a surbrillait avant de lancer la maccro (Cells.Select in Range.Select ? )

J'avais pensé une programmation tel quel:
Pour chaque ligne selectionnée, inscrire les valeurs dans un tableau. Puis la première ligne selectionnée sera égale à toutes les valeurs séparées par "&" (je crois que c'est ce symbole qui est utilisé pour traduire le retour à la ligne, vu en utilisant enregistrer maccro).

En vous remerciant par avance ! Promis, cela me motivera à faire tout par moi même la prochaine fois.
 

mothinx

XLDnaute Nouveau
Re : Lignes selectionnées copiées dans une même cellule (ALT + ENTREE)

J'ai réussi à faire le principe pour une seule cellule selectionnée:

Sub retour_chariot()

ActiveCell.Value = ActiveCell.Value & Chr(10) & ActiveCell.Offset(1, 0).Value

End Sub

Maintenant, il faut trouver un moyen de le faire pour plusieurs ligne selectionnées, et que la première prennent la valeur de celles d'en dessous avec Chr(10) entre. :)
 

mothinx

XLDnaute Nouveau
Re : Lignes selectionnées copiées dans une même cellule (ALT + ENTREE)

Et bien j'ai trouvé la solution comme un grand.

Voici le code:

Sub retour_chariot_plage_select()

Dim nb As Integer
nb = Selection.Rows.Count
For i = nb - 1 To 1 Step -1
ActiveCell.Offset(i - 1, 0).Value = ActiveCell.Offset(i - 1, 0).Value & Chr(10) & ActiveCell.Offset(i, 0).Value
ActiveCell.Offset(i, 0).ClearContents

Next
End Sub

En tant que GRAND débutant (je n'ai commencé que depuis ce matin à me pencher sur le VBA), merci de critiquer ce code et me dire si il est améliorable (bon je vous l'avoue il ne fait que 5 lignes...)
 

MJ13

XLDnaute Barbatruc
Re : Lignes selectionnées copiées dans une même cellule (ALT + ENTREE)

Bonjour mothinx

Attention l'integer est limité à 32276 il me semble, il vaut peut être mieux mettre double (voir la définition des variables avec leurs plages).
 

Staple1600

XLDnaute Barbatruc
Re : Lignes selectionnées copiées dans une même cellule (ALT + ENTREE)

Bonjour à tous

MJ13
Selon Microsoft (voir l'aide VBE ou leur site internet dédié: Ce lien n'existe plus)
Les Rows/Columns se déclarent en Long
Donc
nb as Long
ou
nb&
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Lignes selectionnées copiées dans une même cellule (ALT + ENTREE)

Re, Bonjour JM

Oui, j'ai dit cela comme j'aurais pu dire autre chose. Faut un peu chercher dans la vie :).

Personnellement nb&, comme cela ne me parle pas, cela m'étonnerait que je l'écrive ainsi.
 

MJ13

XLDnaute Barbatruc
Re : Lignes selectionnées copiées dans une même cellule (ALT + ENTREE)

Re JM

J'ai cliqué sur ton lien et je me suis aperçu que j'avais raison, sache que je suis un intutif :).

Alors c'est pas la peine d"en faire un foin ;).
 

Staple1600

XLDnaute Barbatruc
Re : Lignes selectionnées copiées dans une même cellule (ALT + ENTREE)

Re

MJ13
Je n'en fais pas un foin, je poste juste un lien.
Tout simplement par ce que tu ne seras le seul lecteur du fil ;)
Comme la FAQ d'XLD regorge de nombreuses pépites , il se trouvera surement des membres du forum contents d'y faire un tour.
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 191
Membres
103 152
dernier inscrit
Karibu