XL 2019 Objet : Copier/coller des valeurs d'une plage de cellules colorées avec MFC dans une deuxième feuille

Rom1-51

XLDnaute Nouveau
Bonjour à tous,

Je me permets de vous écrire sur ce forum tout d'abord pour vous remercier pour votre aide car j'ai découvert le VBA il y a quelques mois et grâce à vous, j'ai pu me former et acquérir les bases.

Malheureusement, je reste encore limité dans la compréhension des codes et des procédures et c'est ce qui m'amène à vous exposer le problème que je rencontre aujourd'hui.

J'utilise actuellement un logiciel de modélisation qui me permet d'extraire au format CSV les composants et leurs attributs (leurs dimensions et les quantités) que j'ai utilisés pour réaliser ma modélisation. Le fichier est brut et il me faut l'adapter pour que je puisse obtenir à la fin une tarification.

J'ai par ailleurs un second classeur que j'ai crée et qui me sert de base pour réaliser mes tarifications. Dans ce second fichier, les composants sont regroupés en 7 catégories et une tarification est appliquée à chacun d'eux dont certains en fonction de leurs dimensions. Au final, j'aimerais intégrer les données brutes du premier classeur au second automatiquement.

Je suis donc partie du fichier brut que j'ai intégré dans mon second classeur dans la feuille 1 (Copier la colonne A de la feuille 1 du fichier brut et la coller dans la cellule A de la feuille 1 du fichier tarification puis cliquer sur le bouton "Actualiser") dans laquelle j'ai utilisé du VBA pour convertir les données afin de dissocier le nom des composants, la quantité et les dimensions en 3 colonnes. J'ai ensuite crée une mise en forme conditionnelle avec un code couleur pour chaque composant pour les répartir dans leur catégorie correspondante, puis j'ai hiérarchisé les 7 catégories et regroupé les doublons.

Maintenant j'aimerais copier les composants de chaque catégorie dans ma deuxième feuille dans les cellules correspondantes qui sont sous la forme de listes déroulantes. C'est la que je rencontre un problème. Je n'arrive pas à rédiger le code VBA qui me permettrait de sélectionner la plage de cellules colorées correspondant à une catégorie, de copier les valeurs de ces cellules et de les coller ensuite dans la seconde feuille.

J'espère que j'ai été suffisamment clair dans mon explication et si besoin je peux redétailler certains points.

Je vous communique en pièces jointes un exemple de fichier brut remanié par mes soins qui est généré automatiquement par mon logiciel de modélisation et le fichier de base (fichier tarification) qui correspond au second fichier.

Je ne pense pas que ma requète soit compliquée pour des spécialistes comme vous et j'espère que vous pourrez m'aider.

Merci par avance pour votre aide.
 

Pièces jointes

  • Fichier tarification.xlsm
    54.9 KB · Affichages: 10
  • Fichier brut.xlsx
    10.4 KB · Affichages: 6

herve62

XLDnaute Barbatruc
Bonsoir
J'espère que j'ai été suffisamment clair dans mon explication
Ben .. je pense pas en tout cas pour moi ....et vu les réponses ?
car
Maintenant j'aimerais copier les composants de chaque catégorie dans ma deuxième feuille dans les cellules correspondantes qui sont sous la forme de listes déroulantes. C'est la que je rencontre un problème. Je n'arrive pas à rédiger le code VBA qui me permettrait de sélectionner la plage de cellules colorées correspondant à une catégorie, de copier les valeurs de ces cellules et de les coller ensuite dans la seconde feuille.
Comment concrétiser des cellules ou se trouvent les données , quelle feuille, quelle liste , quelle plage ..etc
là ce n'est que du texte !!!!! les coller ensuite ..OU ?
Te reste à traduire ton texte en EXcel language !!!!! cela sera plus bénéfique et je ne parle pas que pour moi
 

Rom1-51

XLDnaute Nouveau
Bonjour Hervé,

Je te remercie pour ton te retour rapide et pour tes remarques.

Je suis désolé de ne pas avoir été assez clair dans mes explications. Je ne voulais pas trop en mettre pour que ca ne paraisse pas trop long mais finalement j'aurais du détailler un peu plus.

Je vais reprendre en essayant cette fois d'être plus précis.

Il faut partir du fichier brut qui est un fichier CSV. Dans ce fichier seul la colonne A de la feuille 1 contient des informations.

Il faut copier la totalité des informations comprises dans la colonne A et les coller dans la colonne A de la feuille 1 du fichier tarification. Ensuite le fichier brut n'est plus utile et il faut se concentrer sur le fichier tarification.

Une fois coller, il faut cliquer sur le bouton actualiser de la feuille 1 du fichier tarification qui permet avec le code VBA de scinder les informations de la colonne A en 3 colonnes (Definition name, size et quantity) et ensuite de regrouper les doublons et les quantités dans la colonne J et la colonne K.

Jusque la je n'ai pas de difficulté si ce n'est que j'aimerais par la suite avoir dans la colonne L la taille des composants qui se trouve dans la colonne B mais je ne suis pas encore parvenu à trouver le code pour le faire.

Ce que je voudrais faire ensuite c'est partir des informations des colonnes J et K pour renseigner la feuille 2.

Je voudrais par exemple que les informations de la cellule J2 de la feuille 1 soient collées dans la cellule E6 de la feuille 2. Que la valeur de la cellule K2 de la feuille 1 soit collée dans la cellule H6 de la feuille 2.

Et ainsi de suite. Au final je voudrais que la feuille 2 soit complétée automatiquement comme dans la feuille 2 du fichier tarification définitif que je te mets en pièce jointe.

J'espère que mes informations sont plus claires maintenant.

N'hésite pas à me dire si ce n'est toujours pas assez clair.

Encore merci pour ton aide.
 

Pièces jointes

  • Fichier tarification finalisé.xlsm
    58.8 KB · Affichages: 8

herve62

XLDnaute Barbatruc
Bonsoir ROM , le forum
bien pour ta réaction sur ce post
Oui c'est mieux mais actuellement je suis fort occupé sur un sujet important ( hors forum)
Je suis sûr que tu vas obtenir des réponses
Sinon c'est du VBA ou formules ???
formules !!! pas pour moi
A suivre je pense
 

Rom1-51

XLDnaute Nouveau
Bonjour Hervé,

Merci pour ton retour.
Je ne pense pas que cela soit possible avec des formules. Maintenant peu importe VBA ou formules du moment qu’à la fin tout fonctionne.

Bon courage pour ton projet important.

J’espère qu’un autre membre pour m’aider.
 

Marcel32

XLDnaute Accro
Bonjour,

Peut-être serait-il plus simple d'avoir les différents tarifs sous forme d'une liste plutôt que disséminés un peu partout sur la feuille des tarifs ?

Avec une liste, une simple recherche (avec RechercheV, Index, Equiv) devrait permettre de résoudre ton problème.

Perso, je n'ai d'Excel me permettant de t'aider, mais quelqu'un d'autre va sûrement venir à ta rescousse. 😉
 

herve62

XLDnaute Barbatruc
Bonsoir à tous , Rom , Marcel
Eh oui !!! on rejoint mon opinion je vais ajouter que ce fichier n'est pas structuré / optimisé pour un traitement
Quand on se lance dans un tel projet ;;; on mesure d'abord les éventualités
différents tarifs sous forme d'une liste plutôt que disséminés un peu partout sur la feuille des tarifs ?
ce que précise Marcel
J'ai aussi regardé tes fichiers mais non .. pas évident à traiter sous leur formes actuelles ?
On part d'une colonne A (en brut) qui devient en 3 autres col et le reste part sur X colonnes et pire la feuille2 n'a AUCUNE structure possible de traitement comme par exemple :
Prix unitaire en G ( feuil2 ) , Qté passe de I à J tout cela selon les catégories
Moi à mon avis , mieux vaut restructurer ce fichier ( uniformiser) afin qu'un traitement Vba puisse agir au mieux
Je pense que d'autres membres vont intervenir !!!!!!
 

herve62

XLDnaute Barbatruc
J'ai encore regardé le fichier , mais à la vue de la structure des mini tableaux , et de la cible des données à aller inscrire ...... il n'y a aucune fonction linéaire ou de corrélation convertible en VBA

Pourtant je suis nettement plus spécialisé en VBA que formules
Là il faudrait écrire Ligne/ligne une instruction différente !!!! Cela peut se faire mais ça s'appelle USINE A GAZ
 

Rom1-51

XLDnaute Nouveau
Bonsoir Hervé,

Merci pour ton retour.

Je veux éviter le fichier usine à gaz car le but serait pour moi de continuer à l’alimenter sans avoir à modifier sans arrêt des codes et des formules.
L’objectif pour moi est de gagner du temps.
Et bien évidement je plaisantais sans mon précédent message.
C’est la première fois pour moi que j’utilise un forum et c’est le seul moyen que j’ai trouvé pour essayer d’obtenir de l’aide.

Peut être serait il préférable de retravailler le fichier pour l’adapter et pour le simplifier mais là aussi je bloque un peu.
 

herve62

XLDnaute Barbatruc
Bonjour le forum
@Rom1-51 : une remarque ,parmi ......?
fichier finalisé : pourquoi en feuille Listes categorie 2 ce tableau ??
des RECTANGLES A en ligne avec des RECTANGLES A B C ..... en colonne et puis la G que fait elle là ????
et la Col B est pour apparemment des Prix , mais là des infos Rectangle A ??
Pour finir : Pourquoi un tableau K-M avec à nouveau ces Rectangles ??
Donc si cette feuille Listes est utile pour récupérer des infos , il faut la re structurer afin qu'avec le code on puisse balayer linéairement et avoir des repères fixes ( pas de col avec une fois des prix puis des dim. par exemple)
Après je ne connais nullement la problématique mais on doit pouvoir faire mieux
 

Marcel32

XLDnaute Accro
Je pense que d'une part ce n'est pas le fichier définitif et que d'autre part il y a peut-être en réalité des données confidentielles (ce ne serait ici qu'un canevas, comme c'est très souvent le cas dans les questions posées sur le forum). 😉

Ceci dit, je suis 100 % d'accord avec toi sur le fait de structurer les données de façon à simplifier la programmation. 👍
 

Discussions similaires