Déplacement de plusieurs colonnes

Fermé
Pévénéro - 11 déc. 2010 à 17:50
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 déc. 2010 à 11:54
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.

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
Modifié par michel_m le 13/12/2010 à 11:56
Bonjour,

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)
1
lantreaweaty Messages postés 17 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 13 décembre 2010
13 déc. 2010 à 10:33
Clique droit sur l'onglet du classeur, déplacer ou copier, cocher creer une copie.

ou tu selectionne tes colonnes en maintenant la touche ctrl enfoncé tu fais copier et tu colle autre part...
-1