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

Macro: Empiler les colonnes

  • Initiateur de la discussion Initiateur de la discussion David066
  • Date de début Date de début

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 !

D

David066

Guest
Bonjour à tous,


ne maitrisant pas du tout le VBA j'aurais voulu une macro qui me permette d'empiler
les colonnes.
D'un précédent post j'ai récupéré le code suivant:

Sub EmpilerColonnes()
Dim L As Long
Dim C As Integer
With ActiveSheet
'Pour chaque colonne
For C = 2 To 750
'Interrompre à la dernière colonne utilisée
If .Cells(198000, C).End(xlUp).Row = 1 And .Cells(1, C) = "" Then Exit For
'Couper-Coller les données en A
L = .Range("A198000").End(xlUp).Row
.Range(.Cells(L + 1, 1), .Cells(198000, 1)).Value = .Range(.Cells(1, C), .Cells(198000, C)).Value
.Range(.Cells(1, C), .Cells(198000, C)).ClearContents
Next C
End With
End Sub



Il fonctionne parfaitement, cependant mon problème est que je souhaiterai qu'il sélectionne les colonnes de la ligne 1 à 264 inclut, je ne sais pas du tout ce qu'il faut modifier dans ce code pour définir une plage de sélection.

Si quelqu'un peut m'aider...
 
Re : Macro: Empiler les colonnes

Malheureusement il semblerait que cela ne fonctionne pas, il copie uniquement la première colonne
en suite il copie du vide....
Je suis sur mac, le problème peut-il venir de ça?
 
Re : Macro: Empiler les colonnes

Remplace tout le code par :
Code:
Sub EmpilerColonnes()
Dim L As Long
Dim C As Integer
With ActiveSheet
'Pour chaque colonne
L = 264 ' fixe le nb de lignes
For C = 2 To 750
'Interrompre à la dernière colonne utilisée
If .Cells(65000, C).End(xlUp).Row = 1 And .Cells(1, C) = "" Then Exit For
'Couper-Coller les données en A
.Range(.Cells(L + 1, 1), .Cells(L + 264, 1)).Value = .Range(.Cells(1, C), .Cells(264, C)).Value
.Range(.Cells(1, C), .Cells(264, C)).ClearContents
L = L + 264
Next C
End With
End Sub

Je ne pense pas que la pomme y soit pour qqchose....
 
- 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.

Discussions similaires

Réponses
5
Affichages
915
Réponses
15
Affichages
791
Réponses
4
Affichages
735
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…