Macro - copier-collage spécial - résultat dans une nouvelle colonne à chaque fois

Robin22

XLDnaute Nouveau
Bonjour,
Je suis nouveau sur ce site.

voici :
Dans mon fichier Excel, j'ai 2 onglets, soit : Base et Sommaire
Dans l'onglet Base, les données sont inscrites dans la colonne B (entre les lignes 10 à 50) et sont modifiées à chaque semaine.
Dans l'onglet Sommaire, j'aimerais qu'une macro effectue un "copier-collage spécial" (sur demande) de la colonne B10 à B50 de l'onglet Base. Cependant, j'aimerais que cette macro utilise toujours une nouvelle colonne pour chaque résultat de la macro (bref, dans l'onglet Sommaire, les résultats seraient indiqués à partir de la colonne B et suivante - par exemple, semaine 1, semaine 2, semaine 3...).

Je n'ai aucune idée comment m'y prendre :confused:. Auriez-vous une idée-solution ?

Merci beaucoup pour votre aide !!
 

Alyrio

XLDnaute Nouveau
Re : Macro - copier-collage spécial - résultat dans une nouvelle colonne à chaque foi

Bonjour Robin22, le forum

Essaye ce bout de code dans un module.

Code:
Sub CopierCollage()
Sheets("Base").[B10:B50].Copy

If Sheets("Sommaire").[B10] = "" Then

Cells(10, 2).PasteSpecial xlPasteValues
Else

Sheets("Sommaire").Cells(10, 2000).End(1).Offset(0, 1).PasteSpecial xlPasteValues

End If

End Sub
 

Robin22

XLDnaute Nouveau
Re : Macro - copier-collage spécial - résultat dans une nouvelle colonne à chaque foi

Bonjour Alyrio,

Merci pour ton aide...c'est très apprécié!
Je viens tout juste d'essayer la macro. Elle fonctionne très bien pour copier 1 colonne. Cependant, quand je fais un 2e test (pour coller dans la colonne suivante), la macro semble connaître un problème à la ligne :
Sheets("Sommaire").Cells(10, 2000).End(1).Offset(0, 1).PasteSpecial xlPasteValues

Je ne pourrai dire la cause ??

Merci encore pour ton aide !!

Robin
 

Efgé

XLDnaute Barbatruc
Re : Macro - copier-collage spécial - résultat dans une nouvelle colonne à chaque foi

Bonjour Robin22 , Alyrio, le fil, le forum,
Pas compris la même chose que Alyrio. Edit : En fait si.. mais une autre manière de faire.
Une proposition : Edit : Ajout de la semaine en cours
VB:
Sub CopierCollage_2()
With Sheets("Base")
    Plg = .Range(.Cells(10, 2), .Cells(50, 2)).Value
End With
With Sheets("Sommaire").Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
    .Value = "Semaine_" & Format(Date, "ww", , vbFirstFourDays)
    .Offset(1, 0).Resize(UBound(Plg, 1), 1) = Plg
End With
End Sub
Cordialement
 
Dernière édition:

Discussions similaires


Haut Bas