VBA : report saisie + cours de change applique

happymarmotte

XLDnaute Occasionnel
Bonsoir le Forum,

j`essaie de faire un outil de report de donnees (d`une feuille a l`autre!) et j`ai 2 complications :
1/ Je dois envoyer mes donnees de la feuille Revenues vers la feuille RECAP mais ds la bonne colonne (selon date saisie ds Listbox): 1 colonne = 1 date (recherche de la colonne en somme)
2/ je dois convertir le montant saisi lors de l`envoie (selection de la devise ds la listbox aussi et taux ds la feuille "Parameter")

bref 2 elements que je ne sais pas faire et j`ai pas trouve l`equivalent sur le site malheureusement pour moi :(

Pouvez vous m`aider tout simplement. Au moins pour le 1er point car sans cela pas la peine de penser au point 2

j`ai fait un file explicatif en esperant que ce soit clair. bien sur n`hesitez pas a poser vos questions si besoin

merci pour votre aide
HAPPYMARMOTTE
 

Pièces jointes

  • SAISIEDATA.xls
    41 KB · Affichages: 69

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : report saisie + cours de change applique

Bonsoir Happymarmotte, bonsoir le forum,

Ton fichier modifié et commenté en pièce jointe. Il n'y a que pour les charges que je n'ai pas compris... Sinon, j'ai remplacé les cases à cocher par des boutons d'option dans l'UserForm.
 

Pièces jointes

  • Happymarmotte_v1.zip
    19.7 KB · Affichages: 40
Dernière édition:

happymarmotte

XLDnaute Occasionnel
Re : VBA : report saisie + cours de change applique

Bonjour Robert,

merci a toi tout d`abord pour l`aide.

c`est parfait. C`est exactement cela que je cherche a faire.
mais question : Si je change le range (que tu definis) d`une cellule specifique a une zone, ca marche plus (ce qui me semble logique en soit)

ma zone couvre de D4:D50 (bref les revenus en reel sont bien detailles!)
je suis oblige de definir mes 40 cellules ou je peux definir un range afin que le taux s`applique a chaque valeur du range? :confused:

Pour ta question sur les expenses, je pense creer un deuxieme bouton et coller les expenses sur une partie dessous ds ma feuille RECAP. Bref j`aurais 40 lignes detaillant les revenus et 40 lignes en suivant detaillant les charges.

ainsi je compte faire des rapports en automatique (graph...)

Merci pour ton aide

Happymarmotte
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : report saisie + cours de change applique

Bonjour Happymarmotte, bonjour le forum,

Regarde la version 2. J'ai utilisé un tableau dynamique tb() pour emmagasiner tous les revenus (et les convertir). La restitution des données dans l'onglet RECAP se fait aussi à l'aide tu tableau. J'espère que ça répond à ta question.
 

Pièces jointes

  • Happymarmotte_v2.zip
    21 KB · Affichages: 27

happymarmotte

XLDnaute Occasionnel
Re : VBA : report saisie + cours de change applique

Bonsoir Robert, le forum

merci beaucoup pour la correction. le code est + complexe la!

juste 2 points
pourquoi le format n`est pas reporte c`est a dire que les valeurs sont reortees les une apres les autres. Je peux pas recopier comme suit :
ce qui est sur la ligne 5 ira sur la ligne 5, ce qui est sur la ligne 7 va sur la 7?

en fait je reporte mois par mois les donnees (d`ou les colonnes) et je cherche a garder le meme order (ligne - l5, l 7 va vers ligne 7...)


2/ col = ComboBox1.ListIndex + 2
pourquoi +2 => ca fait quoi cette definition de parametre?

merci et desole de ne pas etre assez clair

si c`est pas possible, ben je pars avec cela. c`est deja 95% de mon probleme :p

Happymarmotte
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : report saisie + cours de change applique

Bonsoir Happymarmotte, bonsoir le forum,

Quand une ComboBox (ou une ListBox) est remplie. Le premier élément a l'index = 0 et le dernier l'index = (nombre d'éléments -1). La commande ComboBox1.ListIndex = 0 affiche donc le premier élément de la Combobox1. ComboBox1.ListIndex = 1 affiche, elle, le second élément de la Combobox1, etc... Comme dans l'onglet RECAP, le premier élément commence à la colonne 2, la colonne col correspond donc à l'index + 2. C'est pour ça que j'ai défini la variable col = ComboBox1.ListIndex + 2. Je n'ai pu le faire que parce que les colonnes sont remplies exactement dans le même ordre et avec le même nombre d'éléments que la ComboBox1.
J'ai utlisé le même principe pour la variable lic qui récupère la ligne du coeficient : lic = ComboBox1.ListIndex + 3, car dans l'onglet PARAMETER, la première valeur de la liste se trouve sur la ligne 3. Donc si je choisis le cinquième élément de la ComboBox1 (31/05/2007) il a l'index 4 et il se trouve bien sur la ligne 7. Soit ComboBox1.LstIndex + 3.

Sinon regarde la version 3 où les cellules sont recopiées au même emplacement sans passer par un tableau dynamique.
 

Pièces jointes

  • Happymarmotte_v3.zip
    20.5 KB · Affichages: 36

Discussions similaires

Réponses
7
Affichages
390

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux