Classer des élements provenants d'un feuillet dans un autre feuillet (Incrémentation)

josanche

XLDnaute Occasionnel
Bonjour,

Je vous serai très reconnaissant si vous pourriez m'aider. Je voudrais une fonction ou un macro qui puisse m'aider à classer des informations provenant d'autres feuilles dans le feuillet MATRIX, qui est le feuillet principale du fichier excel.

Chaque feuillet sauf la Matrix représente une loi qui a été voté au Sénat américain avec les noms des sénateurs, leur age, leur sexe, leur parti, leur classe et leur vote. Le mandat d'un sénateur américain est de 6 ans et celui-ci est renouvelable à l'infini. Toutefois, le tier du sénat américain qui compte 100 sénateurs est appelé aux élections tous les trois ans et donc le mandat de 6 ans est échelonné sur 3 périodes (Senate 1 = les deux premières années, Senate 2= les deux années suivantes, senate 3= les deux dernieres années du mandat). Sur ces colonnes (senate 1, 2, 3), les valeurs prises ne peuvent etre que 0 ou 1. Par exemple, un sénateur qui est dans les deux dernieres années de son mandat va avoir un 1 dans la colonne senate 3 et 0 dans les autres. Dans le cas des lois "anti-gun judge confirmed", "anti-gun defected" et "cover-up protection atc", la classe 1 équivaut à 1 dans la colonne senate 3 et 0 dans les autres (voir le détail dans les colonnes Q et R de chaque fichier).

En gros, j'aimerais savoir si il y a moyen d'incrémenter le feuillet matrix grâce aux informations reprises dans les autres feuillets de lois, c'est à dire completer la colonne Bill, Bill position, result, date, year (qui est l'année de la date tout simplement), les colonnes senate1, 2, 3 grâce à l'explication ci-dessus, l'âge du sénateur, pour les années en jaune c'est mettre des 0 dans les colonnes des années differentes dans la colonne year(t) et inversément, et pour les Etats américains en bleu, juste mettre un 1 à l'Etat ou il est sénateur de l'Etat en question et 0 pour les autres Etats.

Dans la liste des noms des sénateur qui se trouve de feuillet MATRIX, il y a tous les noms des sénateurs américains donc normalement, tous les noms qui se trouvent dans les feuillets de lois Se retrouve dans la liste des noms des senateurs du feuillet MATRIX.

Dans le fichier excel, vous pourrez voir un exemple avec le sénateur Daniel Akaka pour illustrer le résultat que je voudrais!

Je vous prie de bien vouloir m'excuser si ma demande d'aide semble un peu abrupte, mais si vous pouvez m'aider à diviser les étapes pour procéder au résultat final, je serai d'accord. J'arrange les feuillets de lois pour qu'ils soit tous les memes et pour qu'ils presentent une meme structure. Je suis ouvert à vos conseils:cool::D
 

Pièces jointes

  • Matrix.xlsx
    89.7 KB · Affichages: 69

Bebere

XLDnaute Barbatruc
Re : Classer des élements provenants d'un feuillet dans un autre feuillet (Incrémenta

bonjour josanche
le code dans module1
clic sur commandbutton1 pour lancer le code
les 3 premières feuilles doivent rester en place
fait sous excel2003
 

Pièces jointes

  • MatrixV1.zip
    64.5 KB · Affichages: 28

josanche

XLDnaute Occasionnel
Re : Classer des élements provenants d'un feuillet dans un autre feuillet (Incrémenta

Bonjour Barbatruc,

Je vous remercie de votre aide avant tout. Concernant le fichier que vous avez renvoyé, il y a des petites erreurs que j'ai pu recorriger mannuellement. J'ai maintenant une structure à l'esprit de comment construire ce fichier matrix par étapes. En vérité, je dois incrémenter ce fichier matrix 90 fois car j'ai 90 feuillets de loi et pas trois malheureusement.

Voila, donc j'ai refait un nouveau fichier matrix avec deux feuillets de loi "Defending gun anti ObamaCare" et "Funding Obamacare", et je compte en rajouter 88 feuillet en plus ayant la meme forme de présentation, c'est colorié en jaune. Si je continue ainsi à rajouter 88 feuillet de loi avec la meme présentation, y a-t-il moyen à la fin, de faire comme vous avez fait pour le précédent fichier , cad que grâce à un macro appliqué sur TOUS les 88 feuillet de loi d'un coup, on puisse reclasser les infos dans la matrix ??? (Faut-il vraiment réorganiser la forme des données, si oui comment ?)

Ou vous me conseillez d'appliquer un macro sur chaque feuillet de loi distinctivement pour incrémenter le feuillet Matrix ? Quel est le meilleure si on veut économiser du temps ? Si vous avez d'autres solutions dites-moi !

Par ailleurs, je voulais vous faire un feedback sur ce que vous m'avez renvoyé :

- Concernant la colonne republican, cette colonne prenait des valeurs 2 mais en réalité, ce n'etait pas deux qu'il fallait mettre mais Cette remarque s'applique sur d'autres colonnes. La colonne Republican , democratic, independent, senate 1, senate 2, senate 3 sont des colonnes binaires et ne peut prendre que des valeurs 1 ou 0. 1 signifie que la personne répond à la condition et 0 inversément.
-colonne Vote, il manquait le vote du sénateur par rapport à la loi.
- les Colonnes années( 1993-2011) OK
- les 50 colonnes States OK
-Bill name OK
-Bill position Ok
-Resultat Pas Ok mais ils'agit de ma faute
-Age OK
-Date Ok
-Year Ok

En pièce jointe, j'ai mis un fichier excel new matrix pour vous montrer la façon dont j'ai présenté la forme des fichiers de lois avec les données colorié en jaune nécessaire pour completer le feuillet matrix.

Désolé d'écrire long mais comme ça, je suis sur que le message est bien perçu , je vous remercie encore infiniment.
 

Pièces jointes

  • New matrix.xlsx
    126.2 KB · Affichages: 53

Bebere

XLDnaute Barbatruc
Re : Classer des élements provenants d'un feuillet dans un autre feuillet (Incrémenta

bonjour Josanche
regarde la feuille matrix le code est changé
il manque E,F,I
mettre les fichiers dans un dossier et choisir la/les feuilles à ajouter
faire une liste sans doublon des senator et une liste des fichiers ajoutés à matrix
pas besoin de les garder dans le classeur matrix
 

Pièces jointes

  • MatrixV2.zip
    66.6 KB · Affichages: 24

josanche

XLDnaute Occasionnel
Re : Classer des élements provenants d'un feuillet dans un autre feuillet (Incrémenta

Bonjour Barbatruc,

Je vous remercie encore de votre aide. Pour la colonne E, les votes sont repris dans les feuillets de lois c'est soit YES soit NO soit Did not vote. Pour la colonne F et I c'est normal si elles sont vides, ne vous inquietez pas ! Je pense qu'on va d'abord commencer comme vous avez fait, cad integrer les valeurs dans le feuillet MATRIX et après créer les colonnes binaires car c'est peut etre compliqué d'un coup de le faire.

Comment je dois faire si je rajoute des feuillets de lois dans le classeur matrix pour que on integre les informations provenant des feuillets de loi nouvelle dans le feuillet matrix. J'ai fait copier/coller d'un feuillet de loi pour le mettre dans le classeur matrix, j'ai appuyé sur commandbutton et ca ne s'incrémente pas dans la liste.
 

Bebere

XLDnaute Barbatruc
Re : Classer des élements provenants d'un feuillet dans un autre feuillet (Incrémenta

Josanche
tu supprimes cette ligne: Range("A2:CJ1000").ClearContents
tu ne dis pas si la feuille matrix te convient avec le dernier code(matrixv2)
au poste #4,pas besoin de garder la feuille on va la chercher,on l'ouvre ,on met dans une variable tableau,on ferme
et ajout dans feuille matrix
dis moi si les fichiers sont dans le même dossier
et je ferai un code
 

josanche

XLDnaute Occasionnel
Re : Classer des élements provenants d'un feuillet dans un autre feuillet (Incrémenta

BOnjour Barbatruc,

matrixV2 ne me convient pas tout à fait mais disons que c'est pas grave, je ferai les modifications après pour les colonnes binaires,
Sur le lien en bas du message, j'ai joins un dossier MAtrix and Laws dans lequel vous retrouverez un dossier LAWS qui contient tous les lois votés au Senat entre le 104ème congres et 112ème congrès. Serait-il possible d'incrémenter la matrix (la derniere que vous avez envoyé, matrixV2) ? Savez-vous faire le code et l'incrémentation ?

Dans le dossier compressé, il y a également le fichier excel matrixV2012 qui est en fait le matrixv2 et une liste avec tous les noms des sénateurs américains entre le 104ème congrès et le 112congrès.

Je me sens pas à l'aise avec des manipulations excel comme ça, je m'y connais pas vraiment en macros code :S

Merci bcp encore pour votre aide déjà apporté barbatruc,

http://db.tt/ZJc5SxTv
 

Bebere

XLDnaute Barbatruc
Re : Classer des élements provenants d'un feuillet dans un autre feuillet (Incrémenta

bonjour Josanche
mon pseudo est bebere et non barbatruc
explication dans userform
regarde dans la feuille senator,la feuille avec laquelle j'ai essayé le code est marquée fait en colonne L
il y aura certainement des corrections à faire
à bientôt
 

Pièces jointes

  • MatrixV3.zip
    85.5 KB · Affichages: 19

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 761
Membres
103 661
dernier inscrit
fcleves