Copier si

Bonjour à tous,

Cela fait une semaine que j'essaye de créer un fichier Excel.

Cela fait également une semaine que je me suis mis aux macros. Je parviens à en faire, mais je n'ai pas un assez bon niveau pour ce que je veux réaliser apparemment.

Je mets en PJ un aperçu du fichier Excel pour que ça soit clair.

Les données de la page COPIER BO sont actualisées tous les mois ( et proviennent des RH )

Je souhaite extraire de ces données les noms + numéro d'employé + business unit qui ne sont pas encore dans la feuille1 .

Dans la feuille 1 se trouvent donc ces trois colonnes et on ajoute par la suite des informations comme le début de a date sur projet etc... Toutes les cases à partir de D1

La feuille 1 permet le suivi des employés, la feuille COPIER BO contient beaucoup d'informations qui ne servent donc pas.

Le problème est que lorsque j'extrais les informations dont j'ai besoin de COPIER BO à destination de FEUILLE 1 les informations de D1 à K3000 peuvent ne plus correspondre aux noms si par exemple des employés sont parti ou arrivés.

Je ne sais pas si j'ai été clair, mais je vous remercie d'avance pour vos pistes.

V

20classeur1.xlsx (9.56 Ko)

Bonjour et bienvenu,

Ton fichier dépasse surement la limite. C'est pourquoi essaye d'alléger ton fichier et de nous le retourner.

Merci pour ta réponse

J'ai allégé le fichier

Cdlt

* Tout d'abord; est-ce possible sans macro et est ce que c'est une chose compliqué avec macro ?

Car là... J'avoue que je sèche.

Merci d'avance pour vos pistes !

Bonjour

Personne n'a de pistes à me proposer ?

Je suis en stage, c'est l'une des mes missions et j'ai beau dire à ma tutrice que ca n'est pas dans mes capacités, elle s'obstine...

Je suis preneur de pistes ou d'idées meme vagues !

Merci beaucoup d'avance !!!

Bonjour,

comme il s'agit d'un stage on ne va pas tout te faire.

Une piste :

  • dans Feuil1 ajouter une clé: =B2&C2&A2
  • dans Copier BO, compter le nombre d’occurrences de la clé : =NB.SI(Feuil1!M:M;A2&E2&B2)
Les formules c'est pour te montrer le principe. Tout peut être fait en vba.

En vba :

- récupérer une plage de la feuille active dans un tableau :

Dim derlig As Long, lig As Long, data As Variant
derlig = Cells(Rows.Count, "A").End(xlUp).Row
data = [A2].Resize(derlig - 1, 3)
For lig = 1 To UBound(data)

Next lig

Créer un tableau de même longueur pour y mettre les calculs par ligne.

Evaluate() peut te servir.

eric

Merci pour ta réponse !

Je me doute bien que tout peut etre fait en VBA mais je n'ai jamais fait de macro de ma vie avant de tenter de bidouiller cela.

Je comprends le début de ton message mais compter le nombre d'occurence ne va pas permettre de n'extraire que les noms qui ne sont pas déjà en feuille 1.. si ?

En fait, j'ai réfléchi depuis mon premier post et je pense qu'il serait plus simple de copier coller de la feuille BO les noms qui ne sont pas en feuille 1 et supprimer de la feuille 1 les noms qui ne sont pas dans la feuille BO

Est-ce faisable avec excel ?

mais compter le nombre d'occurence ne va pas permettre de n'extraire que les noms qui ne sont pas déjà en feuille 1.. si ?

Avant de copier il faut bien déterminer ceux qui sont à copier. Si tu as 0 c'est que c'est absent de ta base.

je pense qu'il serait plus simple de copier coller de la feuille BO les noms qui ne sont pas en feuille 1 et supprimer de la feuille 1 les noms qui ne sont pas dans la feuille BO

Il y a toujours plusieurs façon de faire, et chacun a ses habitudes.

Oui, tu peux faire comme ça aussi.

Seulement RemoveDuplicates n'existe pas sur excel 2003. Si tu veux être compatible il faut faire tout le code de recherche de doublons sur 3 critères (pas uniquement sur le nom) et là ce n'est pas plus simple.

eric

J'ai EXCEL 2007

Merci pour ton aide, j'ai compris comme selectionner ne copier que ceux qui ne sont pas sur la feuille 1

Je pense qu'il doit etre possible de faire la mememe chose pour supprimer ceux qui ne sont pas sur la feuille BO !

MErci merci merci j'essaye tout ca et je te tiens au courant !!!!

Rechercher des sujets similaires à "copier"