[VBA pour Excel] problème de débutant

Fermé
Emilie - 25 avril 2006 à 15:28
 Emilie - 6 mai 2006 à 19:29
Bonjour, je m'entraîne à faire des petites macros qui m'aident pour ma vie de tous les jours.
Je ne suis pas très douée donc j'ai un peu de mal.

Ma question :
J'ai 3 feuilles dans mon classeur, sur les 2 premières, 1 tableau avec 2 colonnes et x lignes où je rentre comme données dans colonne de gauche une date, de droite un prix.
Sur ma troisième feuille, un tableau avec 12 colonnes (représentant les mois de l'année) et x lignes.

Voici ma question, je voudrais savoir comment faire pour que les données ( le prix) des 2 premiers tableaux ( 2 premières feuilles)soit regroupées dans le troisième tableau et donc trié par mois.
Exemple: sur feuille 1 j'ai 30 euros au 1 janvier 2006, feuille 2, 25 euros 25 janvier 2006, j'aimerais que ces 2 prix se retrouve dans la colonne janvier du tableau feuille 3.

je vous remercie de votre aide.
A voir également:

20 réponses

Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
25 avril 2006 à 19:44
Bonjour Emilie,

Il y a bien des façons de faire. Je te mets ci-dessous un petit exemple.
Je suppose que dans les 3 feuilles la première ligne est réservée aux entêtes de colonnes (Date/Prix... Jan/Fév/Mar/Avr, etc.).

Je calcule en début de macro où en est le remplissage des colonnes mois de la feuille Feuil3, et je stocke le résultat dans un tableau (IndiceMois).
La ligne Option Base 1 avant la macro est mise pour que les éléments du tableau soient référencés de 1 à 12 (sinon, par défaut, ce serait de 0 à 11).

Ensuite, je balaie la colonne 1 de Feuil1, puis de Feuil2, et remplis Feuil3 en fonction du mois.

Evidemment, il faudrait blinder davantage. Par exemple :
- éviter de remplir 2 fois Feuil3 avec les mêmes valeurs si on relance la macro,
- être plus "siouxe", et ne retenir le mois que si on est dans l'année en cours,
- peut-être respecter la chronologie des deux feuilles, etc.

Si tu as des questions, n'hésite pas...
Option Base 1
Sub AlimFeuil3()

  Dim I               As Integer
  Dim Mois            As Integer
  Dim IndiceMois(12)  As Long
  
  ' Calcul du remplissage des colonnes de la feuille "Feuil3"
  For I = 1 To 12
    IndiceMois(I) = Sheets("Feuil3").Cells(65536, I).End(xlUp).Row
  Next I
  
  ' Ajout dans "Feuil3" des prix de "Feuil1"
  For I = 2 To Sheets("Feuil1").Cells(65536, 1).End(xlUp).Row
    Mois = Month(Sheets("Feuil1").Cells(I, 1).Value)
    IndiceMois(Mois) = IndiceMois(Mois) + 1
    Sheets("Feuil3").Cells(IndiceMois(Mois), Mois).Value = Sheets("Feuil1").Cells(I, 2).Value
  Next
  
  ' Ajout dans "Feuil3" des prix de "Feuil2"
  For I = 2 To Sheets("Feuil2").Cells(65536, 1).End(xlUp).Row
    Mois = Month(Sheets("Feuil2").Cells(I, 1).Value)
    IndiceMois(Mois) = IndiceMois(Mois) + 1
    Sheets("Feuil3").Cells(IndiceMois(Mois), Mois).Value = Sheets("Feuil2").Cells(I, 2).Value
  Next
  
End Sub
1
Je vais voir si cela marche pour moi.
Je te tiens au courant

Merci beaucoup pour ton aide
0
Bonsoir Armojax,
J'ai essayé de faire fonctionner ta routine mais cela ne fonctionne pas avec moi.
Je ne sais pas si je doit changer des variables (débutante), mais nom de feuille son les mêmes que les tiens.
Je te demande encore un petit peu d'aide, merci pour ta compréhension.

PS: tes conseils pour blinder d'avantage son assez intéressants
"siouxe", ça veut dire quoi !
0
Je t'envoie un exemple de ce que j'aimerais, faire.

https://www.cjoint.com/?ezxoBckqCq

Evidement ces valeurs ne sont pas réels (dommage)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
26 avril 2006 à 08:45
Bonjour Emilie,

Bravo pour la mise en forme de ton classeur. Evidemment, sans l'avoir sous les yeux, c'était difficile de viser les bonnes cellules.
Je me suis permis de changer le nom des feuilles, et Feuil3 est devenue Récap. Tu peux bien sûr changer tout ça, mais le mot "Récap" est cité dans la macro. Donc si tu changes, remplace-le.

La macro prévoit que tu puisses avoir plein de feuilles constituées sur le même modèle que les deux autres. Tu peux donc en rajouter sans problème.

Il est vraisemblable que dans tes feuilles tu auras davantage de lignes détail. Tu peux en rajouter vers le bas. En revanche, si tu déplaces les lignes du début, il faut adapter la macro.

Tu peux la lancer avec la combinaison de touches <CTRL + MAJ + M>.

J'attends ton avis...

C'est ici :
https://www.cjoint.com/?eAi0DkDS0C
0
Merci pour ton aide Armojax, ça m'aide beaucoup
Je vais insérer ta macro dans mon classeur, je t'enverais le résultat
final, tu me diras ce que tu en pense et si tu as des conseils...

Encore merci
0
C'est encore moi,
J'ai juste un petit souci, c'est de ma faute bien sûr.
Je t'ai donné un exemple sur 3 feuilles de mon classeur mais celui-ci va au moins en comporter une 60 ène .
Le problème puisque je ne te l'avais pas précisé c'est qu'il faut simplement que je balaye quelques feuilles pour chaque application.
Je voudrais juste savoir comment faire pour permettre de balayer juste quelques feuilles.
( J'aurais après peu être un autre petit problème car j'ai des tableau à 3 colonnes mais ça j'essayerais de le faire toute seule après ta réponse).

Et excuse moi de te déranger.
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
26 avril 2006 à 21:30
Bonsoir Emilie,

Le petit prototype que je t'ai fait est assez sommaire : il balaie toutes les feuilles (supposées être construites toutes sur le même modèle), sauf la Récap, et alimente en bloc toute la feuille Récap.
Maintenant, quand tu dis que tu auras une 60aine de feuilles, et que tu veux pouvoir n'en balayer que certaines, peux-tu préciser ce que ça veut dire :
1) il y a plusieurs types de feuilles, et tu veux ne traiter que celles qui sont du type que la macro actuelle traite, mais toutes à chaque fois ?
2) ou bien : toutes les feuilles sont de ce même type, et tu veux que la Récap ne soit calculée qu'à partir de certaines d'entre elles, choisies différemment à chaque nouvelle fois ?
3) ça veut dire qu'on efface les valeurs dans la feuille Récap avant d'afficher un nouveau résultat ?

Peux-tu préciser ?
0
Bonsoir Armojax,

Je vais essayé de t'expliquer.
Mon classeur comporte différentes types de feuilles.
Il y en a une, la première qui agît comme un menu, plusieurs autres de sous-menus et d'autres comme je te l'ai présenté dans l'exemple.
Dans chaque sous-menu (représantant une catégorie) j'ai différents "boutons" qui me renvoie donc une feuille comportant un tableau (comme ex, représantant une partie de la catégorie) et une feuille "recap" qui me permet de faire les stats.
Il y aura donc plusieurs feuilles "recap", 1 par catégorie.
Il faudrait donc balyer chaque catégorie et insérer le résultat dans sa feuille "recap".

Je ne sais pas si c'est clair.
Si vraiment mes explications ne sont pas compréhensible ou si tu le souhaîte je t'enverai le classeur. (Il est encore un peu brouillon mais tu comprendras peut être mieux).

Je te remercie toujours pour ton aide.
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
26 avril 2006 à 22:08
OK, je comprends le principe et l'organisation générale, mais je veux bien le classeur, pour piger précisément les articulations... si ça n'est pas gênant pour toi, bien entendu.
0
Je t'envoie le lien, tout n'est pas fini, mais presque

https://www.cjoint.com/?eAwmQ7aes2
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
26 avril 2006 à 22:16
Ça me dit que le lien n'est pas ou plus disponible...
Peux-tu renvoyer ?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024
26 avril 2006 à 22:19
Salut,

c'est vrai, mais un clic droit sur le fichier GESTION.xls et Enregistrer la cible de lien sous... ça doit faire l'affaire.

lami20j
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
26 avril 2006 à 22:24
Hello, lami20j,

Hébé non, chez moi ça marche pas...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024
26 avril 2006 à 22:27
0
Je te le renvoie, j'ai rien fait de plus j'éspère que cela va marcher

https://www.cjoint.com/?eAwDbtx3b4
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
26 avril 2006 à 22:31
Salut emilie,

je ne sais pas ce que tu fait comme manip mais c'est la même chose.
Je l'ai copier sur mon disque et j'ai envoyé sur un autre lien.

lami20j

P.S. J'espère que le lien que j'ai donné fonctionne puisque chez moi ça va.
Désolé pour mon irruption.
0
Salut lami20j,

J'ai juste été sur cjoint.com, puis parcourir, j'ai choisi mon classeur Gestion et j'ai crée un lien.
Une fois le lien crée j'ai copier/ coller
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
26 avril 2006 à 23:33
Bon, sincèrement désolé, mais j'ai toujours ce foutu message, aussi bien avec Firefox qu'IE, et je ne vois pas pour le moment où ça coince...
A plus, si j'arrive à me défaire de ce truc, et bonne nuit.
0
Je te souhaîte bonne nuit,
Si cela ne fonctionne pas pour toi, j'essayerai en t'enoyant juste une partie, toute les autres se ressemble.
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
27 avril 2006 à 08:53
Hello,
Je m'absente demain pour quelques jours, et j'ai peu de temps aujourd'hui...

Mais j'ai vu que lami20j veille, et il est souvent de bon conseil, de même que d'autres comme gbinforme, JvDo ou Lupin.A, et d'autres... qui passent souvent par ici, et peuvent t'être utiles.
Bonne chance, Emilie.
Ajx.
0
Salut Armojax,

Je te souhaîte un bon week-end (prolongé) alors!
Le lien que je tais envoyé n'a pas fonctionné chez toi?
Tu as une explication ou pas
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
6 mai 2006 à 17:28
Hello Emilie,

Suis de retour... As-tu résolu ton PB ?
0
TARIK ALIOUCHOUCHE
30 avril 2006 à 18:11
Bonjour,
voici mon adresse éléctronik si vous désirez en savoir plus sur les macros et je peux résoudre ton problème si vous m'envoyez votre classeur.
0
Salut Armojax,

A vrai dire, j'ai pas eu beaucoup de temps à y consacrer cette semaine, plutôt une semaine chargé mais j'allai mis remettre.
0
J'aimerais pouvoir te transmettre mon classeur, pour que tu vois ce que j'ai fait et si cela marche.
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
6 mai 2006 à 19:24
Eh bien tu peux le mettre sur cjoint.com (si ça marche, parce qu'avant mon départ je n'arrivais pas à le récupérer),
ou sinon tu me le "maile" à mon pseudo chez free.fr, comme tu veux.
0
C'est encore moi

Je t'ai fait une compression de mon classeur, toute les feuilles n'y sont pas. Peut être que le lien passera mieux
Dans le Menu juste Course, Total et Plaisir (juste Restaurant et autres).
Dit moi si cela fonctionne
https://www.cjoint.com/?fgttM2y2oa
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
6 mai 2006 à 19:27
Non, toujours pas... c'est comme avant, je ne le récupère pas sur cjoint...
0
Je te l'envoie par Mail alors
0