XL 2016 Recopier mise en forme depuis une liste

Stephane CLAIN

XLDnaute Nouveau
Bonsoir,

En espérant que cette question n'a pas été encore (j'ai fait des recherches mais je n'ai rien trouvé).

Une fois par semaine, je dois récupérer des données de plusieurs personnes, l'intégrer dans mon classeur et lancer une macro.
A la fin de la macro, je me retrouve notamment avec une colonne qui contient des codes demandeurs (en feuille 1, col A) sans mise en forme.
Dans ma feuille 2, j'ai une liste de demandeurs avec la bonne mise en forme que j'aimerais appliqué à chaque cellule de ma colonne A en fonction du demandeur.
La longueur de la colonne A est comprise variable en fonction des semaines

Avez-vous une une formule ou un bout de code que je pourrais rajouter dans ma macro?

Merci par avance
 

Pièces jointes

  • mise en forme.xlsx
    263.1 KB · Affichages: 24
Dernière édition:

Si...

XLDnaute Barbatruc
Bon_jour

Voici quelques lignes de code à ajouter à la suite du tien* écrit dans la fenêtre de code de la feuille de travail (Feuil1 avec ton exemple qui a peu de lignes).
VB:
  Application.ScreenUpdating = 0
  For Each R In [A6:A15]
      Set C = Feuil2.[B3:B17].Find(R)
      If Not C Is Nothing Then C.Copy R
  Next
Tu pourrais aussi ajouter tout en haut de la page (avant toute macro) la déclaration de variables : Dim R As Range, C As Range

*tu l'as eu avec l'enregistreur donc il mérite un gros dégraissage. Si tes plage évoluent beaucoup en taille (noms, formats …) tu peux jeter un coup d'œil à celui que je joins pour les autres intervenants.

Lone, je suis gêné quand tu donnes plusieurs formats au même nom et, en plus, en restreignant ceux-ci. Je pense aussi que dans la liste chargée il peut y avoir des noms qui n'ont pas été répertoriés dans le second tableau. Voici une autre proposition avec ton exemple modifié avec bien plus de lignes que dans la demande.

Staple, ton code du #14 eet rapide; et pour cause, il ne traite que quelques cas me semble-t-il.
 

Pièces jointes

  • Copy MFC.xlsm
    53 KB · Affichages: 21

Lone-wolf

XLDnaute Barbatruc
Bonjour Si... :)

Avant de mettre le code en ligne, j'ai éffectué le test avec l'exemple de Jean Marie; ça me bloquait le fichier, c'est pour celà que j'ai fait ainsi.

Sur un grand tableau, tu sais bien que la boucle for each est déconseillée.

Et voici la question posée par Stephane:
"la macro fonctionnera encore si je rajoute un demandeur plus tard?", donc je suppose que la liste va se prolonger, jusqu'à combien? I Dont Not.

EDIT: je viens de rééditer le code. Le classeur avec la macro modifiée.
 

Pièces jointes

  • Copy MFC-2.xlsm
    55.9 KB · Affichages: 17
Dernière édition:

Stephane CLAIN

XLDnaute Nouveau
Bonjour à tous. Effectivement mon fichier ne tournera pas avec 2000 lignes. Je crois que le max tourne autour de 400-450.
Pour les demandeurs, la liste n’évoluera pas de beaucoup. 5-6 demandeurs grand max.
Je testerais tout ça mardi ou mercredi et je vous ferais un retour. En tout cas, merci déjà pour le travail fait. Je vais gagner un peu de temps grâce à vous ^^
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 167
Messages
2 085 895
Membres
103 021
dernier inscrit
Sergyl75