Macro ou script vba pour traiter un tableau

ingel

XLDnaute Nouveau
Bonsoir;
Je veux automatiser le traitement d'un fichier Excel en mettant en place une macro ou un script VBA qui me permet d'alimenter des onglets (pays) à partir d'un onglet (rapport) qui contient l'ensemble des pays.
Je m'explique :
Ma feuille rapport contient les colonnes suivantes :
Pays; Code; Population
Ma feuille Pays contient les colonnes suivantes
Code; Somme
Ce que je dois faire est; à partir de l'onglet (rapport) je dois alimenter l'onglet de chaque pays en faisant la somme de la population pour chaque code (voir ma PJ)
J’ai réussis à le faire pour un seul onglet en enregistrant une macro, mais je n’ai pas pu le faire pour tout les onglets et surtout que le nombre de cellule varie d'un pays a un autre.
Je vous serai très reconnaissant si vous pourrai m'aider.
Merci.

EDIT : le fichier initial contient beaucoup plus de pays que le fichier joint, c'est juste pour illustrer mon besoin.
 

Pièces jointes

  • TEST.xlsx
    15.6 KB · Affichages: 55
  • TEST.xlsx
    15.6 KB · Affichages: 58
  • TEST.xlsx
    15.6 KB · Affichages: 63

ingelman

XLDnaute Nouveau
Re : Macro ou script vba pour traiter un tableau

Bonjour,

Alors :
•Si un pays n'existe pas, le crée-t-on ? Oui cela ce fait déja dans votre fichier joint plus haut ca marche impecablement.

•si oui, d'après quel modèle (notamment pour la liste des codes figés) ? j'ai crée un modéle propore a moi en VBA, les codes seront inscrit lors de la création de la page dans les cellule (de C18 à C24 et de J18 à J24)
•si un code n'existe pas pour un pays, doit on l'ajouter à la liste des codes du pays ? non les codes sont les memes pour tous les pays, s'il nexiste pas dans l'onglet rapport alors la cellule qui doit contenir la somme reste vide.

•si un code n'existe plus pour un pays, doit on supprimer ce code dans la feuille du pays ou le mettre à zéro ou autre chose ? Le code reste mais la cellule qui contient la somme reste vide.


Les codes a inscrir dans la partie gauche sont :

C18 = 104
C19 = 851/-
C20 = 852/-
C21 = 855/-
C22 = 857/-
C23 = 879/-
C24 = 877/-

La partie droite :

J18 = 4
J19 = 851/+
J20 = 852/+
J21 = 855/+
J22 = 857/+
J23 = 879/+
J24 = 877/+

Les cellules ou on doit avoir la somme sont respectivement :

D18:D24 et J18:J24

Je pense que la solution est d'utiliser la fonction sumproduct mais j'ai envi d'avoir les resultat a la place des forume car a la fin du traitement l'onglet rapport doit etre enlevé.

Aussi je voudrai que les onglet de chaque pays aient une image qui se trouve dans l'onglet rapport (sort de copier/ coller) collage spéciale non ?
 
Dernière édition:

ingel

XLDnaute Nouveau
Re : Macro ou script vba pour traiter un tableau

Bonjour ingelman,

Merci pour les réponse. Pouvez-vous juste, svp, fournir un fichier avec un exemple de feuille de pays ?

Je ne pourrai m'y atteler que ce soir...

merci,

Bonsoir,

j'ai réussit a le faire finalement, j'ai mixé entre le fichier que vous m'avez envoyé et la fonction sommeprod.
afin d'afficher uniquement le resultat, j'ai juste fait un copier / coller en vba j'ai pas pu me faire autrement.
me reste uniquement le souci de recopier une image a partir de l'onglet rapport et l'appliquer sur tous les onglets pays.
Mais aussi trouver le moyen d'afficher le mois encours sur chaque onglet"pays"
 

ingelman

XLDnaute Nouveau
Re : Macro ou script vba pour traiter un tableau

Bonjour,
Encore une fois je demande votre aide concernant le même fichier,
Au fait là je voudrai qu’une fois le traitement terminé, une feuille intitulé "Position" se crée et contient une récap des pays et la valeur du code 1
Exemple :
France = 15000
Allemagne = 5822
Ainsi de suite pour tous les pays présent dans le fichier
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Macro ou script vba pour traiter un tableau

Bonjour ingelman :)
(...) je demande votre aide concernant le même fichier,
Au fait là je voudrai qu’une fois le traitement terminé, une feuille intitulé "Position" se crée et contient une récap des pays et la valeur du code 1
Exemple :
France = 15000
Allemagne = 5822
Ainsi de suite pour tous les pays présent dans le fichier

Il aurait été sympathique de joindre la dernière version de votre fichier pour travailler sur du concret. J'ai donc repris une de mes anciennes versions et j'en ai modifié le code (voir vers la fin du code).
 

Pièces jointes

  • ingel-Test -v2.xlsm
    37.7 KB · Affichages: 47
Dernière édition:

ingel

XLDnaute Nouveau
Re : Macro ou script vba pour traiter un tableau

Bonjour Mapomme,
Navre de repondre aussi tardivement; je vous souhaite aussi une bonne et heureuse année
alors votre fichier marche bien mais j'ai pas bien compris le principe, quand j'ai voulu l'adapter a mon fichier sa na pas marché.
Au fait ce que je veut faire c'est sa (voir le quote) mais en automatique, c'est a dire parcourir tous les onglet pays et faire l'operation

Sheets("Suisse").Select
Range("C3").Select
Selection.Copy
Sheets("Feuil1").Select
ActiveSheet.Paste
Sheets("Suisse").Select
Range("C7").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil1").Select
Range("B5").Select
ActiveSheet.Paste
Sheets("USA").Select
Range("C3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil1").Select
Range("A6").Select
ActiveSheet.Paste
Sheets("USA").Select
Range("C7").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil1").Select
Range("B6").Select
ActiveSheet.Paste
 

ingel

XLDnaute Nouveau
Re : Macro ou script vba pour traiter un tableau

Re;
voila j'ai fait un petit fichier pour expliquer ce que je veut faire au juste, vous trouverez des commentaires dans le fichier
j'espere que cela vous aidera

Bien evidement tout cela en automatique car le nombre de pays n'est pas figé

je n'ai pas remis la partie ventilation car elle marche merveilleusement bien
merci
 

Pièces jointes

  • test recap.xlsx
    13.1 KB · Affichages: 36
  • test recap.xlsx
    13.1 KB · Affichages: 41
  • test recap.xlsx
    13.1 KB · Affichages: 37

Si...

XLDnaute Barbatruc
Re : Macro ou script vba pour traiter un tableau

salut

Je ne me formalise pas beaucoup mais j’essayé comme Annette ;) d’utiliser SommeProd.
Le terrain doit-être bien préparé*. Ici je limite le nombre d’onglets au maximum (à tester).
Par contre, pour le tri en fonction du code je passe par une macro.

*la liste des pays sans doublon peut être établie par filtre avancé ou par macro (pas prévue ici).

Je n'ai pas ouverts les derniers fichiers joints. Je le ferai Si... le besoin s'en fait sentir.
 

Pièces jointes

  • sommeProd.xlsm
    28.7 KB · Affichages: 30
  • sommeProd.xlsm
    28.7 KB · Affichages: 24
  • sommeProd.xlsm
    28.7 KB · Affichages: 30

Discussions similaires

Statistiques des forums

Discussions
312 309
Messages
2 087 106
Membres
103 469
dernier inscrit
Thibz