macro

F

footix

Guest
Salut,
Je vais surement paraître ridicule avec ma question mais on va dire que je débute sur vba.
Sur un fichier excel, j'ai un tableau avec un certains nombres de données organisées dans plusieurs colonnes. J'ai déjà réalisé une macro me permettant de sélectionner les colonnes nécessaires à mon étude et de les copier coller sur d'autres colonnes afin de les travailler dans de meilleures conditions. Je me retrouve donc avec un tableau à 3 colonnes, la dernière concernant des montants. Je souhaite réalisé une macro qui me permette de calculer automatiquement la somme des montants, selon deux conditions situés dans la 1er et 2e colonne. Par exemple, somme des montants:
- en euros
- de l'activité RD.
Le premier problème est au niveau de la sélection du tableau à "analyser", puisqu'il peut être dans les colonnes u, v... ou aa,bb...selon le désir de l'utilisateur, et je veux que l'utilisateur puisse sélectionner lui même la partie à calculer. Je ne sais pas si avec une refedit cela pourrait marcher.
Bref, je ne sais pas si c'est trés clair, mais si quelqu'un a un peu de temps pour un coup de main, ça pourrait m'aider pas mal.
Merci
 
J

jca06

Guest
Salut footix,

Moi aussi je débute en vba et sur ce forum, mais on apprend beaucoup !

Avant de penser vba, il existe une fonction très efficace pour ce que tu souhaites faire : la fonction SOMMEPROD

Je te recommande de télécharger le fichier AutresFormulesII_MC.zip que tu trouveras dans la partie Téléchargement dans la rubrique "cours et leçons", à la 5ème page si ma mémoire est bonne.

Tu trouveras de nombreuses explications sur la fonction SOMMEPROD
 
B

Berkane

Guest
salut

J'ai l'impression d'être passé par ce problème.
Corrige moi si j'ai mal compris.

Je t'expose mon ex-problème:
je voulais copier un tableau de taille non prédéfinie sur une feuille.
Pour cela, je voulais qu'excel selectionne la page comprise entre la première cellule de la première colonne et la dernière cellule de la dernière colonne.
d'abors, j'active une cellule comprise dans le tableau:
Range("B3").Activate
Ensuite, je selectionne toute la plage contenant des données:
ActiveCell.CurrentRegion.Select
Puis je copie ma selection sur la feuille voulue!
Selection.Copy Workbooks("Fichier.xls").Worksheets("Feuil1").Range("B4")

J'espère t'avoir aidé, sinon, je reste à ton écoute.
 
F

footix

Guest
Bonjour et tout d'abord merci pour les réponses données.
Pour la formule sommeprod, je suis tout à fait d'accord, elle pourrait convenir pour résoudre et remplir les conditions mais néanmoins je me retrouve face à un souci c'est que je ne sais pas par avance la taille des données importées et de ce fait je ne peux avoir un tableau fixe qui sera mise à jour automatiquement. Voilà pourquoi j'essaie vba.
En réponse à berkane, j'ai moi aussi utilisé cette formule pour transférer les données d'un fichier à un autre, mais tu viens de me donner une idée c'est à dire de transférer juste les données désirées qui sont généralement réunies sur 3 colonnes différentes, de ce fait sur mon nouveau fichier, je peux alors juste y inscrire des formules excel (comme somprod) afin de tenir à jour le tableau récapitulatif. Bon je sais tu vois peut être pas ce que je veux dire, excuse moi.
Bref par contre je me demande si c'est possible de créer une textbox permettant à l'utilisateur de saisir les colonnes voulues à transférer? Je pense que c'est possible, je vais essayer et je vous redonne des nouvelles.
En tout cas merci beaucoup à vous deux pour vos conseils, c'est ma première fois sur ce site et je le trouve vraiment sympa, ça donne envie de se mettre un peu plus sur le sujet.
Bonne journée. a +
 
F

footix

Guest
Désolé,
Je dois vous annoncé que j'ai un autre souci.
Je me demande si sur vba on peut coller dans un autre fichier juste la valeur de la cellule et non son contenu, comme des liaisons par exemple?
Merci et à bientôt
 
F

footix

Guest
Oui ça marche, la synthaxe est:

Range().PasteSpecial Paste:=xlPasteValues

Merci, du coup de main, je commence à voir le bout j'ai une quinzaine de fichier à étudier pour repérer les données utiles et les transférer pour les travailler.
Bref, à bientôt et encore merci.
 

Discussions similaires

Réponses
4
Affichages
297

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 950
dernier inscrit
Thomas Solioz