Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 

MJ13

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

Re JM


voir la définition des variables avec leurs plages

Pourtant, j'avais bien précisé au départ. Donc, c'était sous-entendu. Après il y a tellement de façons de faire, je ne vais pas toutes les énumérer .
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…