Microsoft 365 insérer ou supprimer le nombre de colonne qui convient

iliess

XLDnaute Occasionnel
bonjour
j'ai deux plage
1 feuil1 Source A4:E4
2 feuil2 Destination A4:C4

je souhaite mètre la plage dans la feuil2 on égalité avec la plage feuil1 Source (ajouter ou supprimer des colonne)
NB les trois dernière colonne dans la feuil2 Destination toujours reste après la plage
voici un code non complet

VB:
Sub inser()
Dim ShSOur As Worksheet, ShDesti As Worksheet
Dim lastColumnSour As Long, lastColumnDest As Long
Set ShSOur = ThisWorkbook.Worksheets("Source")
Set ShDesti = ThisWorkbook.Worksheets("Destination")
lastColumnSour = ShSOur.Cells(4, ShSOur.Columns.Count).End(xlToLeft).Column
lastColumnDest = ShDesti.Cells(4, ShDesti.Columns.Count).End(xlToLeft).Column - 3
If lastColumnSour < lastColumnDest Then
'ajouter le nombre colonne en moin
Else
'supprimer le nombre colonne en plus
End If
End Sub
 

Pièces jointes

  • Colonne.xlsm
    16.7 KB · Affichages: 7
Solution
Bonjour Iliess,
Un essai en PJ avec :
VB:
Sub Transferer()
    Application.ScreenUpdating = False
    With Sheets("Destination")
        For C = 1 To Application.Match("TOTAL1", .[4:4], 0) - 1
            .Cells(1, 1).EntireColumn.Delete
        Next C
    End With
    With Sheets("Source")
        N = Application.CountIfs(.[4:4], "*")
        .Range(.Cells(4, 1), .Cells(18, N)).Copy
    End With
    Sheets("Destination").Select
    [A4].Select
    Selection.Insert Shift:=xlToRight
    [A1].Select
End Sub
Je supprime toutes les colonnes de destination sauf les 3 dernières puis j'insère les colonnes présentes dans Source.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Iliess,
Un essai en PJ avec :
VB:
Sub Transferer()
    Application.ScreenUpdating = False
    With Sheets("Destination")
        For C = 1 To Application.Match("TOTAL1", .[4:4], 0) - 1
            .Cells(1, 1).EntireColumn.Delete
        Next C
    End With
    With Sheets("Source")
        N = Application.CountIfs(.[4:4], "*")
        .Range(.Cells(4, 1), .Cells(18, N)).Copy
    End With
    Sheets("Destination").Select
    [A4].Select
    Selection.Insert Shift:=xlToRight
    [A1].Select
End Sub
Je supprime toutes les colonnes de destination sauf les 3 dernières puis j'insère les colonnes présentes dans Source.
 

Pièces jointes

  • Colonne (1).xlsm
    18.8 KB · Affichages: 1

Statistiques des forums

Discussions
312 209
Messages
2 086 270
Membres
103 168
dernier inscrit
isidore33