Copier des colonnes à intervalle régulier

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

GregBov

XLDnaute Nouveau
Bonjour à tous,

Je suis nouveau sur ce forum et je vous remercie d'avance pour votre précieuse aide.

Je chercher à copier puis coller des colonnes à intervalle régulier. J'ai joint un fichier comme exemple. Je cherche à insérer, toutes les 11 colonnes (dans le fichier joint, dans la feuille "document de référence", insérer les colonnes ou le texte "insérer les colonnes ici" est surligné en jaune), environ 20 colonnes contenant des formules (dans la feuille "colonnes à copier") . Je suppose qu'il faut utiliser un macro mais je ne m'y connais malheureusement pas ...

J'espère avoir réussi à être clair.

Encore une fois merci pour votre aide.

Grégoire
 

Pièces jointes

Bonjour et Bienvenu sur XLD,
Voici une petite macro à mettre en Module1
La macro insère les colonnes donc à lancer d'une fois.
Enlève les apostrophes si tout fonctionne bien, cela accélèrera la macro
Bruno
VB:
Sub mycopie()
'application.EnableEvents=false'plus rapide
For k = 1 To 20
col = col + 11
Feuil2.Columns(col).Insert
Feuil2.Range(Feuil2.Cells(5, col), Feuil2.Cells(1000, col)).Value = _
Feuil1.Range(Feuil1.Cells(5, k), Feuil1.Cells(1000, k)).Value
Next
'Application.EnableEvents = True
End Sub
Edit: Adapter les Feuil1 et Feuil2 (voir en projet VBA) le vrai nom d'onglet
 
Bonjour et Bienvenu sur XLD,
Voici une petite macro à mettre en Module1
La macro insère les colonnes donc à lancer d'une fois.
Enlève les apostrophes si tout fonctionne bien, cela accélèrera la macro
Bruno
VB:
Sub mycopie()
'application.EnableEvents=false'plus rapide
For k = 1 To 20
col = col + 11
Feuil2.Columns(col).Insert
Feuil2.Range(Feuil2.Cells(5, col), Feuil2.Cells(1000, col)).Value = _
Feuil1.Range(Feuil1.Cells(5, k), Feuil1.Cells(1000, k)).Value
Next
'Application.EnableEvents = True
End Sub

Je vous remercie grandement pour votre réponse, et merci pour la rapidité!

Je vais essayer ce code.

Cordialement,

Grégoire
 
J'ai essayé de lancer votre macro.

Je me suis probablement mal fait comprendre car le résultat n'est pas celui souhaité. Je veux coller TOUTES les colonnes de la première feuille à un intervalle constant. Plus précisément, les 20 colonnes de la premières feuilles doivent être collées à la colonne L de la deuxième feuille, puis à la colonne X (11 colonnes plus loin), et ainsi de suite.

D'avance merci pour votre aide.

Grégoire
 
Yes,
Essayes comme ceci
attention cela fait rajouter 80 colonnes . . .
Bruno
VB:
Sub mycopie()
'application.EnableEvents=false'plus rapide
For k = 41 To 11 Step -10
For b = 1 To 20
Feuil2.Columns(k).Insert
Next
bas = Feuil1.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Feuil2.Range(Feuil2.Cells(5, k), Feuil2.Cells(bas, k + 19)).Value = _
Feuil1.Range(Feuil1.Cells(5, 1), Feuil1.Cells(bas, 20)).Value
Next
'Application.EnableEvents = True
End Sub
 
Yes,
Essayes comme ceci
attention cela fait rajouter 80 colonnes . . .
Bruno
VB:
Sub mycopie()
'application.EnableEvents=false'plus rapide
For k = 41 To 11 Step -10
For b = 1 To 20
Feuil2.Columns(k).Insert
Next
bas = Feuil1.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Feuil2.Range(Feuil2.Cells(5, k), Feuil2.Cells(bas, k + 19)).Value = _
Feuil1.Range(Feuil1.Cells(5, 1), Feuil1.Cells(bas, 20)).Value
Next
'Application.EnableEvents = True
End Sub
Ce code fonctionne parfaitement, merci !
 
- 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
3
Affichages
350
Retour