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

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

  • Initiateur de la discussion Initiateur de la discussion iliess
  • 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 !

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

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.
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

- 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

Discussions similaires

Réponses
12
Affichages
874
Réponses
16
Affichages
947
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
481
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…