Extraction de plusieurs colonnes et copie sur un autre feuille via les macros
Sousha
Messages postés2Date d'inscriptionlundi 11 janvier 2010StatutMembreDernière intervention12 janvier 2010
-
11 janv. 2010 à 23:45
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
12 janv. 2010 à 22:13
Bonjour,
J'ai besoin de votre aide pour créer une macro. L'aobjectif étant d'automatisercette tâche.
J'ai sur un feuille des données relatives à 1 an sachant qu'au début du mois les données se rajoutes aux précéedntes. Le nombre de lignes est variable Comme indiqué ci-après:
janv10déc09nov09oct09sep09août09juil09juin09mai09avr09mars-09 fév09
Toto 5,73%55,73%55,7%8,14%8,14%14,12%14,12%14,12%5,00%6,00%14,12% 10,0%
Tata 1,04%21,04%21,04%21,04%10,0%1,00%10,00% 4%21,04%100,0%55,73%8,14%
Au mois prochain j'aurai les données de Fevr10 à Mars09
Je souhaiterais extraire les données concernant les mois de déc, Sept, Juin, Mars pour les insérer sur une autre feuille. Cette nouvelle feuille me permettra de créer un graphe par trimestre qui sera également automatisé.
Voici la macro que j'ai pu créer mais je n'ai pas les mois sohaités.
Sub InputByQuater()
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 12 janv. 2010 à 00:23
Bonjour,
intéresse-toi à la méthode Union de l'objet Application (ouvre ton aide en ligne sur le mot Union).
Et puis tous ces select ! A quoi diable servent-ils ?
Regarde vce petit exemple (il devrait te parler)
un bouton sur ta feuil1 avec ce code
Private Sub CommandButton1_Click()
Dim maplage As Range
Set maplage = Application.Union(Range("A:A"), Range("C:C"))
maplage.Copy Destination:=Sheets("feuil2").Range("D1")
Set maplage = Nothing
End Sub
Lance et clique, puis va jeter un coup d'oeil à ta feuil2
A toi ensuite de t'en inspirer.
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 12 janv. 2010 à 00:45
Et si j'ai bien vu, tout ton truc se résumerait à ce code sur ta feuille "inputByMonth"
Sheets.Add
ActiveSheet.Name = "InputByQuater"
Dim maplage As Range
Set maplage = Application.Union(Range("A:A"), Range("B:B"), Range("E:E"), Range("H:H"))
maplage.Copy Destination:=Sheets("InputByQuater").Range("A1")
Set maplage = Nothing
sans préjudice de la justesse de ton tir (tes choix de colonnes), bien sûr
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
Sousha
Messages postés2Date d'inscriptionlundi 11 janvier 2010StatutMembreDernière intervention12 janvier 2010 12 janv. 2010 à 22:01
Bonjour,
Je vous remercie pour votre retour et votre aide. Je ne suis pas une pro des macro, je fais de mon mieux.
J'ai testé le code mais je n'ai aucune donnée dans la feuille InputByQuater. Je voudait uniquement les données de décembre, Septembre, Juin et Mars sachant que ces mois change de colonnes tous les mois. Les données sont sur une année glissante.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 12 janv. 2010 à 22:13
sachant que ces mois change de colonnes tous les mois
Et c'est alors là ton problème (dont tu commences seulement à nous parler) !
Solutions, alors, deux :
- la plus lourde : identifier chaque colonne de chaque mois à traiter (méthode Find) puis décoider comme montré (en utilisant ces colonnes-là et non des adresses en dur, comme dans le code montré)
- la plus légère : nommer tes colonnes et constituer la plage maplage en utilisant les noms de colonne et non leur adresse relative.
Commence à t'y investir car, sinon, il va falloir écrire toute ton appli à ta place ... (et ce n'est ni ma tasse de thé, ni le respect de mes principes, ni ceux de ce forum).
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.