MAJ d'un tableau par VBA

Bonjour à tous,

N'ayant aucune connaissance en VBA je sollicite votre aide afin de m'aider à créer une macro en VBA qui puisse mettre à jours un tableau par des valeurs inscrites sur une autre feuille de ce même fichier.

Pour vous aider à comprendre je vous joint un fichier d'exemple.

L'idée étant d’insérer dans le tableau principal de la "feuille 1", dans la colonne "D", la somme des valeurs de la colonne "G" de la "feuille 2" en fonction de la colonne A, B, C de la feuille 1, tout en ajoutant une date de MAJ sur la feuille 1 et en remplissant de jaune les cellules de la colonne D lorsque la valeur est differente depuis la dernier MAJ, le tout grâce à un bouton de MAJ et une Macro

Le tableau comportant d'autres colonnes que je suis obligé de completer à la main, le TCD n'est visiblement pas une option......

N’hésitez surtout pas a me donner des pistes a explorer, je suis aussi demandeur

Encore merci à ce forum d'exister.....

18exemple.xlsx (61.35 Ko)

Bonjour wiwi01.

Voir si cela te conviens.

Cdlt.

Ps : la prise en charge des cellules en jaune et également effective

25exemple.xlsm (70.76 Ko)

Bigdaddy merci pour ta reponse et ta solution !

ça fait exactement ce que je veux, cependant en allant voir ton code de ce que je perçois c'est que si ma liste comporte d'autres projets : " projet4....5 "etc... cela ne fonctionne plus.

Idem si de nouveaux groupes venaient à etre ajoutés.

Est ce bien cela ? est il possible de contourner cela ?

encore merci...

Implémente ta feuille1 avec tes nouveaux projets et dis moi si ça fonctionne.

Ps : pense aussi à mettre des données dans ta feuille2 correspondant à tes nouveaux projets pour test.

Ps.Ps = je vois que dans ta feuille1 colonne A tu imbriques des SI je crois que le nombre de SI que tu puisses imbriquer ne peut exceder 7 de mémoire juste pour infos.

Cdlt.

26exemple.xlsm (70.71 Ko)

J'ai fait le test en ajoutant un projet : " le projet 4" et un nouveau groupe " groupe 5" et cela ne fonctionne pas. Une idée ?

La MAJ de la date est elle réalisé dans ton code ?

Pour l'info sur les "SI ", ok je ne savais pas

Encore merci.

16exemple1.xlsm (72.51 Ko)

Oui normal utilise le dernier fichier que j'ai mis à disposition et refait l'essai.

Cdlt.

C'est hyper top ! ça fonctionne parfaitement ......

Bigdaddy tu es un Chef

Bigdaddy,

Je viens de m'apperçevoir que j'avais oublié que dans ma feuille2 d'import il y avait des dates sur plusieurs années : 2013/2014/2015 et j'aurais aimé pouvoir spliter les sommes sur chacune des années ( voir colonne D,E et F de la feuille1).

Est ce toujours possible ?

De plus chose à laquelle je n'avais penssé, je dois pouvoir conserver les données de la feuille 2, cependant à chaque fois que l'on clic sur le bouton de MAJ cela recharge entierement la feuille2 et d'ici quelques mois cela prendra enormement de temps, peut on imaginer qu'apres le clic cela ajoute un statut " importé" dans la colonne I de la feuille2. Comme cela toutes les lignes dont le statut est a vide pourront etre importées.

Est ce toujours possible ?

Pour ce qui est de la couleur jaune lorsque les données ont ete modifiées, cela fonctionne tres bien dans ton exemple et pas dans mon fichier. Cela peut il etre a cause des MFC ? et y a t il une solution ?

Encore merci pour tous tes retour, hyper productif

17exemple3.xlsm (120.09 Ko)

Re.

Regarde si ça te conviens.

Cdlt.

17wiwi01-v2.xlsm (74.00 Ko)

Voilà nouvelle version qui répond à toutes tes doléances voir si ça fonctionne bien.

Cdlt.

24wiwi01-v3.xlsm (77.01 Ko)

Top c'est super ! encore merci pour ton efficacité BIGDADDY !

Tout fonctionne parfaitement, cependant lorsque dans la feuille 2 on modifie la charge ( exemple sur la ligne 1) on passe de 1 à 1000 et que l'on enleve le statut puis que l'on clic sur MAJ dans la feuille 1 tout est OK.

Cependant si on modifie juste apres la premiere operation uniquement la date de la ligne1 de la feuille 2 en mettant l'année à 2013, lorsque l'on clic sur MAJ, cela fonctionne pour la cellule 2013 de la feuille 1 mais ça garde la meme valeur pour la cellule sur 2014 (garde les +1000).....A priori c'est parce que la macro ne recalcule plus puisque le statut est present

solution de Contournement, supprimer tous les statuts d'importation de la feuille 2 et remettre à jours toutes les données !

A ton avis, n'y a t il pas une solution plus simple ?

Bonjour Wiwi01.

Tout fonctionne parfaitement, cependant lorsque dans la feuille 2 on modifie la charge ( exemple sur la ligne 1) on passe de 1 à 1000 et que l'on enleve le statut puis que l'on clic sur MAJ dans la feuille 1 tout est OK.

Cependant si on modifie juste apres la premiere operation uniquement la date de la ligne1 de la feuille 2 en mettant l'année à 2013, lorsque l'on clic sur MAJ, cela fonctionne pour la cellule 2013 de la feuille 1 mais ça garde la meme valeur pour la cellule sur 2014 (garde les +1000).....A priori c'est parce que la macro ne recalcule plus puisque le statut est present

Oui j'ai fais en sorte qu'il rajoute que les lignes dont le statut est absent donc c'est effectivement normal.

Par contre j'ai du mal à saisir pourquoi faire des modifs sur les lignes que tu as déjà importées ??

Tu avais emis le souhait de ne pas recharger l'ensemble des lignes suite à une montée en charge du fichier

De plus chose à laquelle je n'avais penssé, je dois pouvoir conserver les données de la feuille 2, cependant à chaque fois que l'on clic sur le bouton de MAJ cela recharge entierement la feuille2 et d'ici quelques mois cela prendra enormement de temps, peut on imaginer qu'apres le clic cela ajoute un statut " importé" dans la colonne I de la feuille2. Comme cela toutes les lignes dont le statut est a vide pourront etre importées.

Est ce toujours possible ?

Que souhaiterais tu exactement à te relire.

Cdlt.

pourquoi recharger ?

recharger toute la feuille 2 n'est effectivement pas nécessaire et l'idée du statut permet effectivement de le faire, cependant si plusieurs series de lignes deja chargées devaient etre modifiées pour motif d'être simplement des erreurs, exemple une charge qui passe de 1 à 10 ou inversement ou alors tout simplement une erreur de date, il suffit de supprimer le statut et cela doit pouvoir se recharger.

C'est exactement ce qui se passe. Le soucis c'est que par exemple si la charge, ou la date, ou autres ont ete modifiées les "sommes" des charges ne sont plus exacte

J'espere avoir ete plus clair

Si tu as une idée......

Ok c'est plus clair pour moi malheureusement pour le moment j'ai pas trop d'idée.

Je médite

En tout cas tu as ete extra sur ce sujet, merci BIGDADDY !

De mon coté j'ai eu l'idée pour une solution de contournement :

-si c'est un probleme de charge ou de date, je duplique la ligne importée en erreur et je passe la valeur en negatif

qu'en dis tu ?

Rechercher des sujets similaires à "maj tableau vba"