Mise à jour automatique de tableau

Bonjour,

Je suis nouvelle sur ce forum; les discussions et conseils donnés me paraissaient intéressants alors je me suis lancé.

J'ai déjà vu dans plusieurs conversations le sujet de la mise à jour automatique de tableaux avec des macros mais jamais vraiment une solution précise pour mon problème.

Je ne m'y connais pas trop en macro et pas assez pour répondre à mon souci.

J'ai un grand fichier excel dans un premier onglet, et dans un 2ème onglet je souhaiterai recopier le même tableau mais avec des colonnes en moins (en gros faire un tableau simplifié dans un 2ème onglet). Le but serait que ce tableau simplifié avec les colonnes en moins se mette à jour automatiquement quand je mets à jour le tableau dans le premier onglet.

Pour être plus clair j'ai 2 onglets différents dans un fichier excel:

  • 1ere feuille: grand tableau source
  • 2ème feuille: tableau simplifié qui se mettrait à jour grâce à une macro

Vous pouvez trouver le fichier ci-dessous:

21work-v2-forum.xlsx (35.11 Ko)

Si un de vous aurait une solution à me donner ou une idée de macro pour une MAJ automatique.

Je vous remercie d'avance.

Bien cordialement,

Sheets("Source").Activate
    Range("A2").CurrentRegion.Select
    Application.Selection.Copy
    Sheets("MAJ").Activate
    Range("A1").Activate
    ActiveSheet.Paste
    Columns("H:L").Delete

la macro a adapter:

  • l'action currentregion necessite une ligne vide(ou colonne) autour du tableau pour le definir
  • Columns("H:L").Delete correspond a la suppression des colonnes H a L

je te laisse faire les adaptations.

Merci beaucoup, ce code marche parfaitement bien.

Par contre j'ai une autre petite question du coup. J'aimerai conserver la mise en forme de mon premier tableau. Il y a t'il un code qui permet de faire ça ? (conserver couleurs, format, taille des colonnes, lignes etc...)

J'ai trouvé cette ligne de code sur un forum:

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Mais ça ne marche pas sur ma feuille.

Merci encore.

J'aimerai conserver la mise en forme de mon premier tableau.

utilise l'enregistreur de macro, enregistre les mises en formes avec et regarde le code...l'enregistreur prend en compte bcp de points de mise en forme d'un coup.Le plus simple, a mon avis, est de faire ta mise en forme dans la macro(qu'elle la fasse a chaque fois). Mais je n'ai jamais essayé

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

cela correspond au collage special(clic droit), il y a "coller juste la forme" mais j'ignore si ca va te convenir.

Merci pour le conseil.

Finalement j'ai réussi à résoudre mon problème avec le code suivant:

Dim wsSource As Worksheet
Set wsSource = ThisWorkbook.Worksheets("Test")

wsSource.Copy ThisWorkbook.Sheets(Sheets.Count)
Sheets("copyTest").Delete
ActiveSheet.Name = "copyTest"
Sheets("copyTest").Activate
Range("C:F,H:P,R:S,V:V,AH:AO").Delete
Rechercher des sujets similaires à "mise jour automatique tableau"