XL 2016 Recopier mise en forme depuis une liste

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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

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

Dernière édition:
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:
Salut @Lone-wolf,

@mapomme: si tu serait une femme, je t'offrirait un bouquet bien garni.

On se calme Lone-wolf 😕. Tu me fais peur 😱.

Bien que n'étant pas une femme, j'accepte tout bouquet garni pour mes compositions culinaires à condition que ce soit sans arrières pensées.

Bonne soirée 😉

edit :
Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
131
Réponses
2
Affichages
102
Réponses
3
Affichages
372
Retour