Microsoft 365 copier coller des colonnes en fonction de la valeur d'une cellule

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

Faroyo

XLDnaute Junior
Bonjour,

j'aimerai savoir s'il était possible de façon simple, de copier/coller des colonnes autant de fois que la valeur saisie dans une cellule.
Je m'explique. Dans mon fichier, j'ai deux onglets.
Onglet A, je rentre dans la cellule B1, le nombre de saisie que je vais devoir faire.
Onglet B, feuille contenant les saisies. Cette feuille devrait ou devra contenir autant de tableaux (A1:B9) que la valeur B1 de l'onglet A .
(A1:B9) = tableau de référence. Chaque nouveau tableau sera séparé par une colonne vide

En resume, si Onglet A, B1 = 2, Onglet B = 2 tableau. Si B1 = 4 alors 4 tableau dans Onglet B et ainsi de suite.

Merci pour votre aide

Faroyo
 

Pièces jointes

Solution
avec ceci
VB:
Sub copietab()

With Sheets("A") 'dans la feuille A
    NbTab = .Range("B1") 'on récupère le nombre de tableaux à créer
End With
If Not IsNumeric(NbTab) Or NbTab = "" Then Exit Sub 'si c'est vide ou pas numérique, on quitte pour éviter des erreur

With Sheets("B") 'dans la feuille B
    Set tablo = .Range("A1:B9") 'on définit la zone qui contient le tableau à copier
    .UsedRange.Offset(, 2).Clear 'usedrange, c'est TOUTE la zone de la feuille qui contient quelque chose: des valeurs, des mises en formes..... offset(,2) pour ne pas effacer les deux premières colonnes
    
    For i = 1 To NbTab
        LastCol = .UsedRange.Columns.Count + 2 'dernière colonne utilisée + 2 pour le décalage
        tablo.Copy...
C'est tout simple top. Exactement ce qu'il me faut.
Un grand merci vgendron pour votre efficacité.
Une très bonne journée.

Faroyo
Une derrière petite question, y a t'il un moyen d'effacer les colonnes ajoutées avant l’exécution du copier/coller. J'ai ajouté une ligne mais cela ne fonctionne pas à tous les coups.

Merci


VB:
With Sheets("B")

[B][COLOR=rgb(250, 197, 28)]Columns("D:VZ").Delete[/COLOR][/B]

    Set tablo = .Range("A1:B9")
 
avec ceci
VB:
Sub copietab()

With Sheets("A") 'dans la feuille A
    NbTab = .Range("B1") 'on récupère le nombre de tableaux à créer
End With
If Not IsNumeric(NbTab) Or NbTab = "" Then Exit Sub 'si c'est vide ou pas numérique, on quitte pour éviter des erreur

With Sheets("B") 'dans la feuille B
    Set tablo = .Range("A1:B9") 'on définit la zone qui contient le tableau à copier
    .UsedRange.Offset(, 2).Clear 'usedrange, c'est TOUTE la zone de la feuille qui contient quelque chose: des valeurs, des mises en formes..... offset(,2) pour ne pas effacer les deux premières colonnes
    
    For i = 1 To NbTab
        LastCol = .UsedRange.Columns.Count + 2 'dernière colonne utilisée + 2 pour le décalage
        tablo.Copy Destination:=.Cells(1, LastCol)
    Next i
    .Activate
End With
End Sub
 
avec ceci
VB:
Sub copietab()

With Sheets("A") 'dans la feuille A
    NbTab = .Range("B1") 'on récupère le nombre de tableaux à créer
End With
If Not IsNumeric(NbTab) Or NbTab = "" Then Exit Sub 'si c'est vide ou pas numérique, on quitte pour éviter des erreur

With Sheets("B") 'dans la feuille B
    Set tablo = .Range("A1:B9") 'on définit la zone qui contient le tableau à copier
    .UsedRange.Offset(, 2).Clear 'usedrange, c'est TOUTE la zone de la feuille qui contient quelque chose: des valeurs, des mises en formes..... offset(,2) pour ne pas effacer les deux premières colonnes
   
    For i = 1 To NbTab
        LastCol = .UsedRange.Columns.Count + 2 'dernière colonne utilisée + 2 pour le décalage
        tablo.Copy Destination:=.Cells(1, LastCol)
    Next i
    .Activate
End With
End Sub
bonjour, je me lance pour la toute première fois dans les macros et je dois recopier mon tableau non pas dans la feuille B, mais dans les colonnes suivantes, en laissant une colonne vide entre chaque tableau, comment faire svp ?
 
- 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

Retour