XL 2013 Dupliquer une feuille et ses modifications sur une seconde feuille en intégrant les nouvelles lignes

GSAUTIER

XLDnaute Nouveau
Bonjour,

J'ai créé un tableau Excel sur une première feuille (tableau utilisé par plusieurs personnes), et pour ne pas surcharger d'informations inutiles mes collègues, j'aimerai que ce tableau (ou certaines de ses colonnes) se répète sur une autre feuille.

Mes difficultés:
- C'est un fichier qui vit (modifications et introduction de nouvelles lignes quasi quotidiennes) et il faut que ces modifications se répercutent automatiquement dans les copies.
- J'aimerais rajouter des colonnes sur ma seconde feuille et réussir à filtrer les colonnes sans que tout se mélange...

J'ai essayé un copier-coller en liant au tableau source, mais ça ne fonctionne pas si j'ajoute des lignes (elles ne sont pas prises en compte).
Je me suis battu cet après midi avec une macro trouvée sur un autre forum mais impossible de la faire marcher (je n'y connais rien en VBA).

Comment faire ? Je n'ai pas nécessairement besoin d'une VBA s'il y a une solution plus maline!

Pour information, voici la macro que j'ai essayé d'utiliser:

Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Feuil2").Range("A1:AE300").Value = Sheets("Feuil1").Range("A1:AE300").Value
End Sub

Merci pour votre aide!
 

GSAUTIER

XLDnaute Nouveau
Bonjour, Boo2bafoot

Voila un exemple avec en feuille 1 le fichier source et en feuille 2 la copie des colonnes qui m’intéresse. Je les ai numérotés pour que ce soit plus simple.

Merci par avance.
 

Pièces jointes

  • Exemple suivi.xlsx
    11.9 KB · Affichages: 43

Boo2bafoot

XLDnaute Nouveau
Salut GSautier,

Ton fichier avec la macro qui devrait faire l'affaire :
Code:
Sub Trier_données()

Application.ScreenUpdating = False

DligneSource = Sheets("Feuille Source").[A4].End(xlDown).Row
DLigneDestination = Sheets("Feuille copie voulue").[A4].End(xlDown).Row

'---- Suppression des anciennes informations dans l'onglet de destination pour éviter les doublons

Sheets("Feuille copie voulue").Activate
    Range("A5").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).ClearContents

'----Sélection des données à copier dans l'onglet Source

Sheets("Feuille Source").Range("A5:Q" & DligneSource).Copy
Sheets("Feuille copie voulue").[A5].PasteSpecial
Sheets("Feuille Source").Range("U5:V" & DligneSource).Copy
Sheets("Feuille copie voulue").[O5].PasteSpecial
Sheets("Feuille Source").Range("Z5:AB" & DligneSource).Copy
Sheets("Feuille copie voulue").[Q5].PasteSpecial

Application.CutCopyMode = False


End Sub

Il te faudra adapter la macro avec tes propres données (le nom des feuilles et la 1ère cellule concerné => ici à la ligne 5 mais peut être différente dans ton fichier)

Bonne journée
 

Pièces jointes

  • Exemple suivi.xlsm
    19.9 KB · Affichages: 57

GSAUTIER

XLDnaute Nouveau
Merci Boo2bafoot, pas mal du tout cette macro :)

Pour information, j'ai légèrement modifié la macro en remplaçant la ligne départ de la macro par la ligne 4. En effet, j'ai un petit soucis que je n'avais pas précisé ou mal formulé: Lorsque les utilisateurs rajoutent des lignes, ils insèrent généralement une nouvelle ligne entre la ligne 4 et 5 de la "Feuille source".
Avec cette petit modification, peu importe où j'ajoute la ligne, ça fonctionne!
Je vais maintenant essayer d'appliquer cette macro sur mon fichier d'origine.
Merci encore pour ton aide! :)
 

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 701
Membres
103 374
dernier inscrit
damned42