Copier donnée d'une colonne vers tout mon classeur [Résolu]

Signaler
-
 Eric -
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

3 réponses

Messages postés
6921
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2020
549
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


Messages postés
12197
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 septembre 2020
688
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
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" ?
Messages postés
12197
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 septembre 2020
688 > Eric
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
>
Messages postés
12197
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 septembre 2020

Parfait !

Un immense merci à toi
Bonjour,

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