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

Intercaler les colonnes de deux fichiers excel / macro

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

J

joesig

Guest
Bonjour,
Je suis débutant en macro / vba et je cherche une macro que me permettra d’intercaler les colonnes de deux fichiers Excel différents. J’explique : Fichier1.xls = (Colonne A ; Colonne B ; Colonne C ; Colonne D et Colonne E) et Fichier2.xls = (Colonne 1 ; Colonne 2 ; Colonne 3 ; Colonne 4 et Colonne 5). Mon intérêt est d’avoir un unique fichier3.xls avec (Colonne A ; Colonne 1; Colonne B; Colonne 2; Colonne C; Colonne 3; Colonne D ; Colonne 4 et Colonne E ; Colonne 5)

Est-ce que quelqu’un pourrait m’aider ?

Cordialement

Joe
 
Re : Intercaler les colonnes de deux fichiers excel / macro

Bonjour Joe,

voir les 3 fichiers joints ( les ouvrir tous les 3 )

la macro se trouve dans le classeur 3

à+
Philippe
 

Pièces jointes

Re : Intercaler les colonnes de deux fichiers excel / macro

Bonjour Philippe,

Merci beaucoup pour votre précieuse aide. Je viens de la tester et elle marche super bien par rapport à la problématique postée. Par contre, j’ai essayé d’ajouter une troisième colonne dans l’expectative de faire une comparaison entre chacune des deux colonnes intercalé (Colonne A – Colonne 1 = Colonne A-1 ; Colonne B – Colonne 2 = Colonne B-2…) et là je n’arrive plus à avancer. Est-ce que vous pourriez m’aider encore dans ce calcul ?

Cordialement,

Joe
 
Re : Intercaler les colonnes de deux fichiers excel / macro

Re- bonjour Joe

voici le code ( remplacer le code du classeur 3 par celui-ci )
Code:
Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Rows("1:1").ClearContents
test = 0
For i = 1 To 5
    Windows("Classeur1").Activate
    Columns(i).Copy
    Windows("Classeur3").Activate
    Cells(1, Range("IV1").End(xlToLeft).Column + test).Select
    ActiveSheet.Paste
    test = 1
    Windows("Classeur2").Activate
    Columns(i).Select
    Selection.Copy
    Windows("Classeur3").Activate
    Cells(1, Range("IV1").End(xlToLeft).Column + 1).Select
    ActiveSheet.Paste
    Cells(1, Range("IV1").End(xlToLeft).Column + 1).Select
    ActiveSheet.Paste
    Cells(1, Range("IV1").End(xlToLeft).Column) = Cells(1, Range("IV1").End(xlToLeft).Column - 2) & " et " & Cells(1, Range("IV1").End(xlToLeft).Column - 1)
Next i
Cells.Columns.AutoFit
[A1].Select
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

à+
Philippe
 
Re : Intercaler les colonnes de deux fichiers excel / macro

Merci encore Philippe,

La nouvelle macro marche bien, par contre, le résultat que je voudrais figurer dans la troisième colonne serait la soustraction de la colonne A – la colonne 1 ; ensuite Colonne B – Colonne 2 … et pas le résultat de la deuxième colonne. Pour être plus claire, je vous envoie un fichier en annexe.

Cordialement,

Joe
 

Pièces jointes

Re : Intercaler les colonnes de deux fichiers excel / macro

Re- bonjour,


les 3 fichiers en retour

à+
Philippe
 

Pièces jointes

Re : Intercaler les colonnes de deux fichiers excel / macro

Bonjour Philippe,

La macro marche super bien. Merci!
Il y a juste une limite. En faite je travaille sur des fichiers avec plus de 100 colonnes et donc sur le troisième fichier (résultat de la macro) je ne peux pas dépasser les 255 colonnes, même si j’utilise la version Excel 2007. Si jamais vous avez une piste, n’hésitez pas à me faire signe. Sinon, j’arrive déjà à avancer beaucoup plus facilement mes analyses. Très grand MERCI encore ;
Bonne soirée
Joe






Re- bonjour,


les 3 fichiers en retour

à+
Philippe
 
Re : Intercaler les colonnes de deux fichiers excel / macro

Re- bonjour


La version Excel 2007 accepte 16.384 colonnes

il suffit de remplacer: Range("IV1")

par : Range("XFD1")

il y a 5 endroits à modifier

à+
Philippe
 
- 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
522
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…