Petite Macro pour beaucoup de data

Résolu
Bonjour a tous et a toutes,

Je tiens tout d'abord a m'excuser pour la qualite de la redaction, je travaille en angleterre et ecrire en francais avec un clavier qwerty... ca donne ca :)

Je travaille actuellement sur un fichier excel ayant environ une dizaine de milliers de lignes, et 3 colonnes. Un colonne contenant le nom des gens de ma boite, un autre contenant leur telephone et un dernier contenant leur Cost Center.

Je dois mettre a jour ce fichier, sachant qu'il y a environ 300 a 400 changements a effectuer, et que j'ai d'ors et deja le nom et numero de l'ensemble des gens presents dans la boite.

Toutefois j'aimerai eviter de repartir de zero et devoir comparer l'ensemble des 10 000 noms de l'annee derniere avec les noms de cette annee pour remplir le "Cost Center", serait il donc possible de lancer une macro qui realise l'algorythme suivant , sachant que :

la colonne A contient les numeros de telephone de l'annee derniere
la colonne B contient les noms de l'annee derniere
la colonne C contient le Cost center de l'annee derniere
la colonne D contient les numeros de cette annee
la colonne E contient les noms de cette annee
la colonne F recoit le cost center de la colonne C si et seulement le numero de la colonne D est le meme qu'un des numeros dans la colonne A ( il recoit alors son Cost Center)

Les colonnes ABC et DEF sont donc sans liens directes entre elles.

J'espere que cela est suffisamment claire, j'ai essaye par moi meme mais n'ayant jamais fait de reelle prog je galere a mettre ca en place.. si vous avez la moindre question n'hesitez pas.

Merci !!!

Romain

5 réponses

  1. Contributeur
    Bonjour

    Sans macro:
    en F2
    =SI(NB.SI(A:A;D2)>0;DECALER(A$1;EQUIV(D2;A:A;0)-1;2);"")

    puis double clic sur le petit carré à droite et en bas de F2

    mais on peut aussi passer par macro si tu y tiens... :o)

     Michel
    1
    1. Merci beaucoup ! :D J'ai essaye de comprendre la fonction que tu m'as donne car excel ne l'accepte pas, il bute sur la definition de la colonne A:A je pense dans le SI(A:A;B2) (surlignage du deuxieme A)

      Pourtant la formule me semble logique (facile a dire une fois qu'on l'a sous les yeux pas vrai ;D )#
      NB: j'utilise excel 2010
      NBB: Merci encore en tout cas ! Et si tu as une idee du pourquoi du comment cela ne marche pas je prends :D
      0
    2. Contributeur
      @Naimor49Je sais pas chez moi ca marchait

      au lieu de A:A essaie avec A$1:A$1500

      edit 10:35
      heu!
      traduit la formule en Excel anglophone !!!
      0
    3. J'ai l'impression qu'il ne reconnait pas la fonction SI en fait, ce qui est surprenant..
      0
    4. Se pourrait il que la version anglaise n'aie pas les memes noms de fonction ?
      0
    5. Tout le souci est la il me semble ! Je vais trouver l'equivalent et je vous redis :D
      0
  2. Petite precision : Les numeros de telephone ainsi que les Cost center ont respectivement tous le meme nombre de chiffres :)
    0
    1. Contributeur
      Bonjour,

      Ce serait + facile, notamment pour des essais, de voir un extrait du classeur (2000lignes) . solution par VBA
      pour cela
      Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
      et coller le raccourci proposé (clic droit) dans le message de réponse

      Dans l’attente

       Michel
      0
      1. Bonjour ! C'est une excellente idee, voila un exemple sur 300 lignes :)

        https://www.cjoint.com/c/FAvqWWKyfmS

        N'hesitez pas si vous avez une autre question,

        Romain
        0
    2. Je pensais utiliser la fonction : =IF(COUNTIF($A$1:$A$3414,C2)>0, B2, "00000")

      Le souci c'est que je ne vois pas comment retourner le Cost Center de la ligne qui est match directement..
      0