Copier ds un autre onglet sous condition sans vider les colonnes suivantes

Bonjour à tous, expérimentés et novices comme moi,

Tout d'abord je remercie les administrateurs de ce forum pour le travail colossal derrière nos petites demandes individuelles.

Je ne suis pas un grand utilisateur de VBA et je n'ai que de très lointaines notions de programme basic (les calculatrices scientifiques de l'époque par exemple), ce qui me permet de saisir globalement le sens de certaines macros.

Aussi, pour mon travail je cherche à automatiser un tableau de suivi de nos activités et pour une meilleure compréhension de mon problème, j'ai réalisé le tableau en pièce jointe qui présente de façon simplifiée ce que j'obtiens, et ce que je cherche à obtenir.

Le premier onglet (Tableau de bord) liste nos missions et ceux à qui elles sont attribuées. Je cherche à les copier dans les onglets suivants organisées par mission (un onglet = un type de mission) et j'ai trouvé et adapté une formule qui fait l'affaire. Cependant, il s'agirait de ne copier que les premières colonnes, les suivantes étant utilisées pour y noter d'autres informations. Mais la formule utilisée supprime les données des colonnes suivantes (Dans l'onglet "Mission 1", les colonnes "rapport rédigé" et "commentaires" sont vidées).

Voici la macro que j'ai utilisé :

Private Sub Workbook_Open()
Dim i, Lastrow

Lastrow = Sheets("Tableau de bord").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Mission 1").Range("A3:D20").ClearContents
For i = 2 To Lastrow
If Sheets("Tableau de bord").Cells(i, "A").Value = "Mission 1" Then
Sheets("Tableau de bord").Cells(i, "A").EntireRow.Copy Destination:=Sheets("Mission 1").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next i

End Sub

Je pense qu'il s'agit de la commande .ClearContents qui pose problème ou alors le fait que tout est exprimé en terme de lignes et non de colonnes mais je ne connais pas suffisamment les commandes et leur fonctionnement pour trouver seul la solution. Enfin, je remercie d'avance les personnes qui se pencheront sur ce cas.

Danii

Bonjour

Depuis 19 ans (excel 2003) on utilise plutôt des tableaux structurés pour gérer les listes de données

Tu t'embarques un peu vers une usine à gaz :

il faut pour chaque mission

  • vérifier l'existence de la feuille Mission n,
    • si non la créer
    • si oui vérifier ce qui est déjà dedans afin de ne recopier que ce qui est nouveau et ne pas écraser ce qui est en cours

Sachant qu'avec un tableau structuré, on peut filtrer par segment, pourquoi ne pas avoir un seul tableau ?

Inversement avec des tableaux structurés et PowerQuery, on peut créer et n tableaux (1 par mission) mais avoir une synthèse à tout moment de l'état de toutes les missions...

Bonjour 78Chris,

Merci pour ta réponse qui me permet de me rendre compte que je n'ai pas apporté toutes les informations nécessaires pour comprendre ma démarche.

Ce qui m'amène à répondre à tes questions :

- Il y a bien un onglet par mission. Dans l'exemple ici je n'en ai fait qu'un (Mission 1) pour illustrer ma requête.

- Pourquoi pas un seul tableau : le premier onglet tableau de bord recense les informations administratives de la commande et dans les onglets spécifiques aux missions, ce sont les contenus des colonnes à droite de celles copiées qui varient d'une mission à l'autre.

Je ne connais pas PowerQuery, je vais y jeter un œil mais je ne suis pas sûr que ce sera la solution car je dois exécuter ce tableau avec le seul Pack Office dont nous disposons au travail...

Dans tous les cas, merci pour ces premières pistes de réflexion. C'est pas évident de se faire comprendre et encore moins de trouver seul sans un regard nouveau...

RE

PowerQuery est totalement intégré à Excel depuis la version 2016 (7 ans déjà) donc forcément dispo dans 365

J'avais bien compris pour les colonnes supplémentaires des missions : en dehors de la création de feuilles, déjà faite, mes remarques restent valables et notamment l'obligation des vérifier le contenu des feuilles avant d'y ajouter, voir modifier (une ligne du TdeB a pu être modifiée...) quoi que ce soit...

Encore merci.

J'ai saisi le sens de ta remarque qui est tout à fait juste. Je comprends maintenant pourquoi c'est une usine à gaz...

Pour PowerQuery je ne sais pas si je saurai assimiler assez rapidement pour mon besoin mais je vais me pencher sur cet outil qui à mon avis, me sera utile dd'une façon ou d'une autre.

Rechercher des sujets similaires à "copier onglet condition vider colonnes suivantes"