Transposition de valeur et regroupement d'onglet
Hello Dahny,
C'est une belle proposition, tu es presque Champion avec ta double option d'import avec activesheet et all MAIS... (car il y a un mais) ta formule ne focntionne pas car si j'ai 2 tailles pour une meme reference, je ne doit pas transferer une seule valeur groupée en qté, mais bien 2 lignes avec chaque taille dissociéé.
Tu peux voir l'exemple sur la premier ligne ou j'ai T34 Qté 1 et T34,5 Qté 100
Dans ton resulttat tu afffiches T34 qté 101.
Tu y es presque
@Sophie
c'est pas vrai !
dhany
@Sophie
TRÈS IMPORTANT
en tout cas, tu comprends maint'nant pourquoi la prochaine fois qu'tu m'demanderas d't'aider pour un exercice, faudra qu'tu m'donnes un exemple précis des résultats attendus, et qu'tu donnes pas les informations au compte-goutte, au fur et à mesure ! j'veux dire tout c'qui est ci-dessous, qui fait qu'ça triple ou même quadruple le travail à faire, en quantité et en temps !
1) dans ton 1er fichier joint, la 1ère ligne de données était variable, ce qui m'a obligé à écrire une partie de code VBA supplémentaire pour rechercher cette 1ère ligne de données ; au départ, j'voulais prendre la 1ère ligne sous la ligne d'entêtes (ce qui est le plus logique), mais quand j'ai vu tes données chiffrées sur la ligne d'entêtes (côté droit), c'est là où j'ai choisi la ligne d'entêtes ; et c'est seulement plus tard que j'ai compris que ces données chiffrées étaient les tailles (donc 34 ; 34.5 ; 35 ; 35.5 ; 36...) ; quand tu as normalisé tes lignes de façon que la ligne d'entêtes soit toujours la ligne n° 4 : a) ça a beaucoup simplifié les choses, et bien sûr, j'ai supprimé la partie de code VBA de recherche de 1ère ligne (devenue inutile), et j'ai aussi supprimé les déclarations de variables concernées ; b) tu aurais dû faire cette normalisation dès le début, avant de joindre ton 1er fichier ! sauf si c'était le cas habituel et courant des fichiers que tu dois traiter ; mais même dans ce cas, c'est une caractéristique que tu aurais dû mentionner dans ton énoncé initial !
2) la condition pour copier les lignes était pas claire : ton histoire de colonnes J à xxxx
3) c'que tu viens d'me dire à propos de ne pas regrouper les lignes ayant des tailles différentes pour une même référence
4) ne pas prendre en compte 2 onglets appelés "OFFRES" et "TOOL EXPORT" : c'est exactement l'genre de choses qu'il faut connaître dès le début, afin d'avoir une vue d'ensemble du travail à faire ! alors qu'ce soit présenté sous forme de challenge ou pas, j't'assure qu'c'est l'genre de pilule qu'on préfère éviter d'avaler ! car de façon concrète, si tu l'avais dit dès le départ (comme t'aurais dû), j'aurais cherché à concevoir mon code VBA tel qu'il est maint'nant (concernant la prise en compte ou non des différentes feuilles) ➯ création de la sub privée Job() en plus de la sub principale CopyToExport(), car c'est cette même sub Job() qui est appelée pour le traitement d'une seule feuille, ou au contraire pour le traitement de plusieurs feuilles ; faire ce type de codage VBA après-coup prend bien plus de temps que le faire d'emblée, car : a) il faut trouver c'qu'on doit séparer : c'qui doit être transféré dans la sub Job() et c'qui doit rester dans la sub principale (pour les instructions, comme pour les déclarations de variables ; et celles-ci doivent être éventuellement placées au niveau global du module) ; b) il faut aussi voir quelles variables doivent être transmises en paramètre, donc de la sub principale à la sub Job().
5) toujours pour les différentes feuilles du classeur, tu aurais dû indiquer la position précise des 3 feuilles particulières : "Export" ; "OFFRES" ; "TOOL EXPORT" ; là encore, ça aurait beaucoup simplifié le code VBA de savoir (par exemple) que ces 3 feuilles sont toujours les dernières à droite du classeur (ce qui n'est peut-être pas le cas) ; t'as d'la chance : j'ai fait un code VBA qui est indépendant de la position des feuilles du classeur : il marchera quelle que soit la position des 3 feuilles spéciales, et si ça te dit, tu peux mettre ta feuille "Export" au tout début à gauche, ta feuille "OFFRES" en 5ème position, et ta feuille "TOOL EXPORT" en 8ème position ; MAIS ça aurait été moins compliqué et plus rapide si tu avais pu indiquer dès le début que ces 3 feuilles sont toujours en dernière position (et leur ordre l'une par rapport à l'autre)... si toutefois c'est bien le cas réellement.
la concaténation sans espace ni tiret : tu m'l'avais pas dit ; mais ça, c'est beaucoup moins gênant qu'tout l'reste, car la correction est hyper facile et rapide à faire ; c'est même pour ça qu'j'l'ai volontairement pas mis en point 6) : t'aurais pu penser qu'j'te reprochai ça aussi alors qu'c'est pas du tout l'cas !
j'te laisse méditer sur toutes les anomalies d'ton dossier pendant qu'j'fais la suite, bien qu'j'ai pas dormi d'la nuit pour avancer ton dossier, justement ! si à l'avenir tu fournis un prochain dossier avec manque d'infos et certaines infos au compte-gouttes, ce sera le dernier dont j'm'occuperai ! (c'est pas contre toi perso, mais juste pa'c'que ça fait bien trop d'boulot supplémentaire qui aurait pu être évité ! donc dans c'dernier cas, moins d'temps perdu inutilement ! et j'aurais pas veillé toute la nuit !
j'sais bien qu'ce post fait un peu « sermon », mais si t'as bien compris tout c'que j'ai écrit dans c'post, t'avoueras qu'y'a de quoi ! quelle que sera ta réaction, je posterai ma solution (c'qui va plus tarder) car elle peut être utile à tout lecteur de ce sujet.
dhany
@Sophie
j'crois qu't'as déjà lu mon post de 04:21 ; avant d'lire celui-ci, lis d'abord mon post de 06:56 :
https://forum.excel-pratique.com/viewtopic.php?p=671545#p671545
voici donc c'qui devrait être la version finale de ma solution :
à toi d'faire tous les tests ; normalement, tout devrait être bon, cette fois, mais j'suis trop fatigué pour tout vérifier en détail !
si t'as besoin d'une adaptation, j'la f'rai si c'est pas à cause d'une info importante qui s'avérera être un renseignement que t'aurais dû indiquer dès l'début : les infos au compte-gouttes sur ce dossier, y'en a d'jà eu suffisamment comme ça !
si t'as toi-même un doute et qu'tu sais pas si l'adaptation qu'tu voudrais demander est d'cette nature, dis toujours, je verrai bien : j'me fâcherai pas, mais si ça représente trop une remise en question du boulot qu'y'a d'jà été fait, j'y renoncerai.
sur ce, bonne nuit, car moi, j'vais aller dormir ! (et longtemps, j'suis complètement HS !)
donc j'lirai pas ton éventuelle future réponse avant au moins 17 h 30 cet après-midi
(sauf si j'récupère plus vite que prévu)
dhany
j'viens d'voir que tu t'es levée et qu't'as téléchargé mon fichier, mais j'file quand même au lit sans attendre ta réponse.
dhany
Bonjour,
Une dernière mise à jour (format texte colonnes) et avec l'ajout du bouton en ZZFR2.
Cdlt.
Re,
@ dhany : tu as le souci de concaténation lorsque tous les éléments sont tous numériques !...
@ SophieB : j'ai commenté la procédure pour information.
Bonne jourrnée ensoleillée.
Cdlt.
ben j'ai récupéré plus vite que prévu : il est 13:30 et pas 17:30 !
@Sophie : pas d'réponse ? serait-ce que t'as pas eu l'temps d'faire tous les tests ? ou c'est p't'être mon post de 06:56 qui t'a vexée ? tu devrais quand même tenir compte de c'que j'ai écrit, car j't'assure qu'j'suis vraiment pas le seul à ne pas apprécier les sujets à multiples rebondissements (infos manquantes et diffusées au compte-goutte) !
voici un autre exemple : si j'avais pu être sûr et certain que le nom de toutes les feuilles à consolider commence forcément par "ZZFR", j'aurais pu les détecter avec un test facile sur cette caractéristique ; au lieu de cela, j'ai dû faire un test bien moins facile (dont la subtilité que tu connais) pour éviter les 3 feuilles particulières "Export" ; "OFFRES" ; "TOOL EXPORT" ; note que c'est grâce à ce test à contrario que tu peux nommer tes feuilles à consolider comme tu veux, du moment qu'c'est différent des 3 onglets spéciaux.
bien sûr, c'est très possible que tes noms commençant par "ZZFR" soient des noms fictifs, inventés pour cet exo du forum ; mais sait-on jamais ? c'est p't'être des références réelles (pour représenter je n'sais quoi).
j'ai écrit mon petit « speech » de 06:56 dans un but informatif et de mise au point, pas pour te vexer ; si c'est le cas, dis-le moi et je modifierai ce post ; si t'as besoin d'm'écrire un MP, tu peux le faire.
dhany
@Jean-Eric
Tu a écrit :@ dhany : tu as le souci de concaténation lorsque tous les éléments sont tous numériques !...
je n'ai pas compris ta remarque car non, tous les éléments ne sont pas numériques :
et en plus, tu as toi aussi une version française d'Excel :
j'aurais pu comprendre ta remarque si t'avais eu une version anglaise d'Excel, mais là, j'pige pas !
(car pour les anglo-saxons, le séparateur décimal est le point, et pas la virgule comme en France)
dhany
@Steelson
Tu a écrit :ben oui, voilà ce que c'est que de prendre une pause aussi longue !
oui, t'as raison : j'devrais travailler sur Excel 24 h / 24 sans jamais prendre de pause-repas
j'vais très bientôt vous laisser car j'ai plus rien à bouffer : j'dois aller faire des courses, et l'magasin est loin (surtout à pied).
dhany
Bonjour,
j'aurais pu comprendre ta remarque si t'avais eu une version anglaise d'Excel, mais là, j'pige pas !
(car pour les anglo-saxons, le séparateur décimal est le point, et pas la virgule comme en France)
le séparateur décimal est celui défini dans les options Région et langue du panneau de configuration (tant qu'on ne décoche pas 'Utiliser les paramètres système').
Il ne dépend pas de la version d'Excel.
eric
Bonjour eriiic,
oui, oui, je sais bien cela : j'en ai déjà parlé avant dans certains de mes posts liés à ça ; merci quand même pour ta remarque.
cependant, le fait reste que la concaténation mentionnée plus haut n'est pas entièrement numérique car elle comprend le code couleur alphanumérique, comme par exemple "BK01" ; donc pour moi, faire une concaténation reste justifié (d'autant plus que c'est bien c'qui était demandé par Sophie pour SKU : F & H & I ; c'est noté dans son fichier Excel, feuille "Export", cellule J1).
dhany
@Sophie, Jean-Eric, Steelson
j'ai posté un message pour chacun de vous ; lire ces 3 posts :
* pour Sophie : https://forum.excel-pratique.com/viewtopic.php?p=671609#p671609
* pour Jean-Eric : https://forum.excel-pratique.com/viewtopic.php?p=671616#p671616
* pour Steelson : https://forum.excel-pratique.com/viewtopic.php?p=671619#p671619
et une cuillère pour...
dhany
Re,
@ Dhany,
Dans la feuille ZZFR11, dernière ligne ou se trouve le code couleur 3230, saisis une valeur pour la taille 34.
Exécute ta procédure.
Quel est le résultat ?
Cdlt.
Re,
@ dhany : tu as le souci de concaténation lorsque tous les éléments sont tous numériques !...
@ SophieB : j'ai commenté la procédure pour information.
Bonne jourrnée ensoleillée.
Cdlt.
Merci beaucoup Jean Eric pour cet enorme soutien et cette solution qui est TOP.
Je te souhaite un superbe we
Sophie
ben j'ai récupéré plus vite que prévu : il est 13:30 et pas 17:30 !
@Sophie : pas d'réponse ? serait-ce que t'as pas eu l'temps d'faire tous les tests ? ou c'est p't'être mon post de 06:56 qui t'a vexée ? tu devrais quand même tenir compte de c'que j'ai écrit, car j't'assure qu'j'suis vraiment pas le seul à ne pas apprécier les sujets à multiples rebondissements (infos manquantes et diffusées au compte-goutte) !
voici un autre exemple : si j'avais pu être sûr et certain que le nom de toutes les feuilles à consolider commence forcément par "ZZFR", j'aurais pu les détecter avec un test facile sur cette caractéristique ; au lieu de cela, j'ai dû faire un test bien moins facile (dont la subtilité que tu connais) pour éviter les 3 feuilles particulières "Export" ; "OFFRES" ; "TOOL EXPORT" ; note que c'est grâce à ce test à contrario que tu peux nommer tes feuilles à consolider comme tu veux, du moment qu'c'est différent des 3 onglets spéciaux.
bien sûr, c'est très possible que tes noms commençant par "ZZFR" soient des noms fictifs, inventés pour cet exo du forum ; mais sait-on jamais ? c'est p't'être des références réelles (pour représenter je n'sais quoi).
j'ai écrit mon petit « speech » de 06:56 dans un but informatif et de mise au point, pas pour te vexer ; si c'est le cas, dis-le moi et je modifierai ce post ; si t'as besoin d'm'écrire un MP, tu peux le faire.
dhany
Coucou Dahny,
tes remarques sont totalement justifiées, je n'avais pas été assez precises.
Je suis vraiment confuse de t'avoir pris autant de temps et de sommeil
En fait, je vais avoir un nombre de nouvel onglet, que je ne sais definir, encore, 1 par boutique, mais qui ne commenceront pas par ZZ....
Par contre je sais que je vais exclure OFFRES, EXPORT et TOOL EXPORT
Je fais les tests et je reviens vers toi
Comment puis je te remercier?
Sophie
@Sophie
j'crois qu't'as déjà lu mon post de 04:21 ; avant d'lire celui-ci, lis d'abord mon post de 06:56 :
https://forum.excel-pratique.com/viewtopic.php?p=671545#p671545
voici donc c'qui devrait être la version finale de ma solution :
Template mise en forme.xlsm
à toi d'faire tous les tests ; normalement, tout devrait être bon, cette fois, mais j'suis trop fatigué pour tout vérifier en détail !
si t'as besoin d'une adaptation, j'la f'rai si c'est pas à cause d'une info importante qui s'avérera être un renseignement que t'aurais dû indiquer dès l'début : les infos au compte-gouttes sur ce dossier, y'en a d'jà eu suffisamment comme ça !
si t'as toi-même un doute et qu'tu sais pas si l'adaptation qu'tu voudrais demander est d'cette nature, dis toujours, je verrai bien : j'me fâcherai pas, mais si ça représente trop une remise en question du boulot qu'y'a d'jà été fait, j'y renoncerai.
sur ce, bonne nuit, car moi, j'vais aller dormir ! (et longtemps, j'suis complètement HS !)
donc j'lirai pas ton éventuelle future réponse avant au moins 17 h 30 cet après-midi
(sauf si j'récupère plus vite que prévu)
dhany
Hello Dahny
J'ai fais les tests et si j'ajoute l'onglet OFFRES, avec des valeurs, alors la macro qui ramene toutes les infos, prends les données de cet onglet, alors qu'elle ne doit pas
Je te joins le fichier d'exemple
Merci
Sophie
@Jean-Eric
Tu a écrit :Dans la feuille ZZFR11, dernière ligne ou se trouve le code couleur 3230, saisis une valeur pour la taille 34.
Exécute ta procédure.
Quel est le résultat ?
tu as tout à fait raison : sur la feuille "ZZFR11", en cellule J22, j'ai saisi 10 (par exemple), et du fait que le code couleur est ici numérique (et pas alphanumérique), le résultat de la concaténation SKU est un nombre scientifique :
heureusement, le remède est fort simple : il suffit d'appliquer un format Texte à toute la colonne, et c'est réglé !
je te remercie de nouveau pour détecter les éventuelles anomalies.
dhany
Le format NOMBRE sans decimale fonctionne parfaitement