Copier donnée d'une colonne vers tout mon classeur

Résolu/Fermé
Eric - 14 sept. 2020 à 15:38
 Eric - 16 sept. 2020 à 11:06
Bonjour,

J'ai une petite requête, j'aimerais copier les données d'une colonne dans tous mes autres onglets automatiquement.

J'utilise ce code qui fonctionne très bien (pour ceux que ça peut aider)
Sheets("mafeuilleprincipale").Range("A:A").Copy
ActiveSheet.Paste Destination:=Worksheets("mafeuillededestination").Range("D:D")

Maintenant j'aimerais ne pas viser une feuille comme destination, mais tout mon classeur, pour que ma colonne copier apparaisse dans tous mes onglets.

Merci d'avance

Configuration: Windows / Edge 18.17763
A voir également:

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
14 sept. 2020 à 15:51
Bonjour,

voir ceci pour boucler sur toutes les feuilles:

https://silkyroad.developpez.com/VBA/FeuilleDeCalcul/

ce qui donne:

Option Explicit
'https://silkyroad.developpez.com/VBA/FeuilleDeCalcul/
Sub test()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
    If Ws.Name <> "Feuil1" Then 'adapter le nom de la feuille
Worksheets("Feuil1").Range("A:A").Copy Destination:=Worksheets(Ws.Name).Range("D:D")
    End If
Next Ws
End Sub


1
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 Ambassadeur 1 554
14 sept. 2020 à 16:19
bonjour, suggestion:
Dim src As Range, fdest As Worksheet
Set src = Sheets("mafeuilleprincipale").Range("A:A")
For Each fdest In ThisWorkbook.Worksheets
    src.Copy (fdest.[d1])
Next fdest
1
Bonjour yb_be,

Merci pour ta suggestion, mais je me pose une question avec ton code, serait-il possible de placer un -1 quelque part ou une ligne de code demandant de partir de la feuille "mafeuilleprincipale" sans la prendre compte.
Et d'appliquer la modification de la boucle comme tu l'as fait, sans appliquer la modification dans la colonne D pour l'onglet "mafeuilleprincipale" ?
0
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 1 554 > Eric
16 sept. 2020 à 10:47
peut-être ainsi:
Const nomfp As String = "mafeuilleprincipale"
Dim src As Range, fdest As Worksheet
Set src = Sheets(nomfp).Range("A:A")
For Each fdest In ThisWorkbook.Worksheets
    If fdest.Name <> nomfp Then
        src.Copy (fdest.[D1])
    End If
Next fdest
0
Eric > yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024
16 sept. 2020 à 11:06
Parfait !

Un immense merci à toi
0
Bonjour,

Je ne parviens pas à ouvrir le lien, mais merci beaucoup pour le code !
0