Déplacement de plusieurs colonnes
Pévénéro
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche, dans un language visual basic pour excel, déplacer (si possible en évitant les cellules vides) le contenu de 9 colonnes non adajacentes d'une feuille 1 dans une autre feuille 2 tout à la suite dans une seule colonne.
Pouvez-vous m'aider s'il vous plait.
Je cherche, dans un language visual basic pour excel, déplacer (si possible en évitant les cellules vides) le contenu de 9 colonnes non adajacentes d'une feuille 1 dans une autre feuille 2 tout à la suite dans une seule colonne.
Pouvez-vous m'aider s'il vous plait.
A voir également:
- Déplacement de plusieurs colonnes
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Comment faire des colonnes sur word - Guide
- Déplacer des colonnes excel - Guide
- Mes deplacement - Guide
- Tableau croisé dynamique plusieurs colonnes - Guide
2 réponses
Bonjour,
Si tu tiens absolument à du VBA:
macro à adapter à ta configuration
Michel
Vous programmez en VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...(P. Fauconnier/dvp)
Si tu tiens absolument à du VBA:
macro à adapter à ta configuration
Option Explicit
Sub regrouper_en1col()
Dim cptr As Byte, nbre As Byte, col As String
Dim derlig1 As Integer, derlig2 As Long
Dim plage As Range
nbre = 3 'nombre de colonnes à transférer
Application.ScreenUpdating = False
Sheets(2).Columns("A").ClearContents
For cptr = 1 To nbre
col = Choose(cptr, "B", "D", "E") 'colonnes à transférer
With Sheets(1)
derlig1 = .Cells(10000, col).End(xlUp).Row
Set plage = .Range(.Cells(1, col), .Cells(derlig1, col))
End With
With Sheets(2)
derlig2 = .Cells(10000, "A").End(xlUp).Row + 1
.Range(.Cells(derlig2, "A"), .Cells(derlig1 + derlig2 - 1, "A")) = plage.Value
End With
plage.Clear
Next
With Sheets(2)
'supprime les cellules vides
derlig2 = .Cells(10000, "A").End(xlUp).Row
Range("A1:A" & derlig2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End Sub
Michel
Vous programmez en VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...(P. Fauconnier/dvp)