Saisi d'un userform vers feuille avec calcul

Jason1826

XLDnaute Junior
Bonjour ,

après avoir été aidé sur plusieurs difficultés via ce Forum incroyable, je viens ici exposer quelques difficultés supplémentaire que je pense pourra surement aider d'autre personnes,

Ayant avancé dans mon fichier ci-joint, j'aimerai que l'on ajoute :

-Lorsque que l' on click sur le bouton achat ou vente , L'heure se mette dans la colonne HEURE
- si la case Globex est coché que cela écrive "GLOBEX" sinon rien dans le colonne GLOBEX
- dans la colonne CUMUL A que cela additionne la colonne ACHAT
-dans la colonne CUMUL V que cela additionne la colonne VENTE
-dans la colonne POSITION NET que cela soustrait la colonne ACHAT - la colonne VENTE
- dans la colonne COURTAGE que ce la multiplie le nombre d'achat ou de vente par le chiffre correspondant au compte de la feuille "code gérant"

merci beaucoup pour vos aides précieuses :)
 

Pièces jointes

  • Copie de Jason_v02.zip
    161.9 KB · Affichages: 64
  • Copie de Jason_v02.zip
    161.9 KB · Affichages: 55
  • Copie de Jason_v02.zip
    161.9 KB · Affichages: 71
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Saisi d'un userform vers feuille avec calcul

Bonjour,
Déjà pour l'heure, tu ajoutes le code en gras dans ta procédure suivante :

Private Sub ACHAT_Click()

ligne = WorksheetFunction.CountA(Sheets(Me.COMPTE.Value).Columns("A:A")) + 1
Sheets(Me.COMPTE.Value).Range("A" & ligne).Value = CDate(Date)
Sheets(Me.COMPTE.Value).Range("D" & ligne).Value = QUANTITES.Value
Sheets(Me.COMPTE.Value).Range("E" & ligne).Value = COURS.Value
'Sheets(Me.COMPTE.Value).Range("C" & ligne).Value = GLOBEX.Value
Sheets(Me.COMPTE.Value).Range("B" & ligne).Value = Format(Time, "h:mm:ss")
If GLOBEX = True Then Sheets(Me.COMPTE.Value).Range("C" & ligne).Value = "GLOBEX"

End Sub

a+
 
Dernière édition:

Jason1826

XLDnaute Junior
Re : Saisi d'un userform vers feuille avec calcul

Bonjour,
Déjà pour l'heure, tu ajoutes le code en gras dans ta procédure suivante :

Private Sub ACHAT_Click()

ligne = WorksheetFunction.CountA(Sheets(Me.COMPTE.Value).Columns("A:A")) + 1
Sheets(Me.COMPTE.Value).Range("A" & ligne).Value = CDate(Date)
Sheets(Me.COMPTE.Value).Range("D" & ligne).Value = QUANTITES.Value
Sheets(Me.COMPTE.Value).Range("E" & ligne).Value = COURS.Value
'Sheets(Me.COMPTE.Value).Range("C" & ligne).Value = GLOBEX.Value
Sheets(Me.COMPTE.Value).Range("B" & ligne).Value = Format(Time, "h:mm:ss")
If GLOBEX = True Then Sheets(Me.COMPTE.Value).Range("C" & ligne).Value = "GLOBEX"

End Sub

a+


Parfait deja c'est deux valeurs fonctionnent !

Merci beacoup
 

CHALET53

XLDnaute Barbatruc
Re : Saisi d'un userform vers feuille avec calcul

Re,

Tu recopies la même chose pour le bouton Vente
Concernant tes cumuls : il me semble que tes colonnes sont des cours et non le produit du cours par la quantité
Alors additionner des cours ?
tu peux re préciser la règle

A suivre
 

Jason1826

XLDnaute Junior
Re : Saisi d'un userform vers feuille avec calcul

pour le bouton vente c'est fait :) merci
pour les cumul A Et Cumul V , c'est tout simplement l'addtion du nombre d'achat et de vente au fur et à mesurs, le cour ne change rien.
tu vois ce que je veux dire ?
 

CHALET53

XLDnaute Barbatruc
Re : Saisi d'un userform vers feuille avec calcul

Si tu mettais en D1 le cumul de ta colonne D et en G1 le cumul de ta colonne G : tu aurais instantanément (à chaque rajoût de lignes le total en haut
Et J1=D1-G1 pour la position nette
Pour ce qui est de la colonne Courtage, je ne comprends pas quel chiffre (quelle colonne) de la feuille code Gérant récupéré?

a+
 

Jason1826

XLDnaute Junior
Re : Saisi d'un userform vers feuille avec calcul

Si tu mettais en D1 le cumul de ta colonne D et en G1 le cumul de ta colonne G : tu aurais instantanément (à chaque rajoût de lignes le total en haut
Et J1=D1-G1 pour la position nette
Pour ce qui est de la colonne Courtage, je ne comprends pas quel chiffre (quelle colonne) de la feuille code Gérant récupéré?

a+

Bas en faite je pensais qu'on pouvais mettre une formule dans la source en VBA pour éviter des formuleS sur le tableaux excel,
et je préfèrerai les avoir à la suite comme tu le vois dans les feuilles.

Pour le courtage c'est la colonne D de l'onglet "code gerant"
 
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Saisi d'un userform vers feuille avec calcul

j'ai complété (partant du principe que dans la feuille code gerant) les chiffres dans la colonne A sont uniques

Private Sub ACHAT_Click()
adresse = ""
ligne = WorksheetFunction.CountA(Sheets(Me.COMPTE.Value).Columns("A:A")) + 1
Sheets(Me.COMPTE.Value).Range("A" & ligne).Value = CDate(Date)
Sheets(Me.COMPTE.Value).Range("D" & ligne).Value = QUANTITES.Value
Sheets(Me.COMPTE.Value).Range("E" & ligne).Value = COURS.Value
Sheets(Me.COMPTE.Value).Range("B" & ligne).Value = Format(Time, "h:mm:ss")
If GLOBEX = True Then Sheets(Me.COMPTE.Value).Range("C" & ligne).Value = "GLOBEX"
Sheets(Me.COMPTE.Value).Range("F" & ligne).Value = Sheets(Me.COMPTE.Value).Range("F" & ligne - 1).Value + Sheets(Me.COMPTE.Value).Range("D" & ligne).Value
Sheets(Me.COMPTE.Value).Range("I" & ligne).Value = Sheets(Me.COMPTE.Value).Range("I" & ligne - 1).Value + Sheets(Me.COMPTE.Value).Range("G" & ligne).Value

' recherche dans la feuille "code gerant"
recherche = Range("C1").Value
Set Plage = Sheets("code Gerant").Range("a2:a12") ' Cells(Rows.Count, "a").End(xlUp))
With Plage
Set c = .Find(recherche)
If Not c Is Nothing Then
adresse = c.Row
End If
End With
If adresse = "" Then Exit Sub
nb = Sheets("code gerant").Range("D" & adresse).Value
If Sheets(Me.COMPTE.Value).Range("D" & ligne).Value <> "" Then
Sheets(Me.COMPTE.Value).Range("K" & ligne).Value = nb * Sheets(Me.COMPTE.Value).Range("D" & ligne).Value
End If
If Sheets(Me.COMPTE.Value).Range("G" & ligne).Value <> "" Then
Sheets(Me.COMPTE.Value).Range("K" & ligne).Value = nb * Sheets(Me.COMPTE.Value).Range("G" & ligne).Value
End If

End Sub
 

Jason1826

XLDnaute Junior
Re : Saisi d'un userform vers feuille avec calcul

Pour ajouté un petit trucs, il manque juste le code pour la colonne POSITION NET( cumul A - cumul V)

Merci encore pour ton aide
 

Pièces jointes

  • Copie de Jason_v02.zip
    88.7 KB · Affichages: 70
  • Copie de Jason_v02.zip
    88.7 KB · Affichages: 67
  • Copie de Jason_v02.zip
    88.7 KB · Affichages: 72
Dernière édition:

Jason1826

XLDnaute Junior
Re : Saisi d'un userform vers feuille avec calcul

j'ai complété (partant du principe que dans la feuille code gerant) les chiffres dans la colonne A sont uniques

Private Sub ACHAT_Click()
adresse = ""
ligne = WorksheetFunction.CountA(Sheets(Me.COMPTE.Value).Columns("A:A")) + 1
Sheets(Me.COMPTE.Value).Range("A" & ligne).Value = CDate(Date)
Sheets(Me.COMPTE.Value).Range("D" & ligne).Value = QUANTITES.Value
Sheets(Me.COMPTE.Value).Range("E" & ligne).Value = COURS.Value
Sheets(Me.COMPTE.Value).Range("B" & ligne).Value = Format(Time, "h:mm:ss")
If GLOBEX = True Then Sheets(Me.COMPTE.Value).Range("C" & ligne).Value = "GLOBEX"
Sheets(Me.COMPTE.Value).Range("F" & ligne).Value = Sheets(Me.COMPTE.Value).Range("F" & ligne - 1).Value + Sheets(Me.COMPTE.Value).Range("D" & ligne).Value
Sheets(Me.COMPTE.Value).Range("I" & ligne).Value = Sheets(Me.COMPTE.Value).Range("I" & ligne - 1).Value + Sheets(Me.COMPTE.Value).Range("G" & ligne).Value

' recherche dans la feuille "code gerant"
recherche = Range("C1").Value
Set Plage = Sheets("code Gerant").Range("a2:a12") ' Cells(Rows.Count, "a").End(xlUp))
With Plage
Set c = .Find(recherche)
If Not c Is Nothing Then
adresse = c.Row
End If
End With
If adresse = "" Then Exit Sub
nb = Sheets("code gerant").Range("D" & adresse).Value
If Sheets(Me.COMPTE.Value).Range("D" & ligne).Value <> "" Then
Sheets(Me.COMPTE.Value).Range("K" & ligne).Value = nb * Sheets(Me.COMPTE.Value).Range("D" & ligne).Value
End If
If Sheets(Me.COMPTE.Value).Range("G" & ligne).Value <> "" Then
Sheets(Me.COMPTE.Value).Range("K" & ligne).Value = nb * Sheets(Me.COMPTE.Value).Range("G" & ligne).Value
End If

End Sub

bon pour la colonne POSITION NETTE C EST FAIT , reste juste le probleme de la creation d'une premiere ligne :)
merci beacoup en tout cas !!!
 

CHALET53

XLDnaute Barbatruc
Re : Saisi d'un userform vers feuille avec calcul

J'avais caressé l'espoir que tu puisses t'en tirer pour cette dernière :

Sheets(Me.COMPTE.Value).Range("J" & ligne).Value = Sheets(Me.COMPTE.Value).Range("F" & ligne).Value - Sheets(Me.COMPTE.Value).Range("I" & ligne).Value


Pour la première ligne, tu rajoutes un test juste derrière la ligne If GLOBEX .........:

If ligne = 3 Then Sheets(Me.COMPTE.Value).Range("F" & ligne).Value = Sheets(Me.COMPTE.Value).Range("D" & ligne).Value Else _
Sheets(Me.COMPTE.Value).Range("F" & ligne).Value = Sheets(Me.COMPTE.Value).Range("F" & ligne - 1).Value + Sheets(Me.COMPTE.Value).Range("D" & ligne).Value
If ligne = 3 Then Sheets(Me.COMPTE.Value).Range("I" & ligne).Value = Sheets(Me.COMPTE.Value).Range("G" & ligne).Value Else _
Sheets(Me.COMPTE.Value).Range("I" & ligne).Value = Sheets(Me.COMPTE.Value).Range("I" & ligne - 1).Value + Sheets(Me.COMPTE.Value).Range("G" & ligne).Value
 

Jason1826

XLDnaute Junior
Re : Saisi d'un userform vers feuille avec calcul

J'avais caressé l'espoir que tu puisses t'en tirer pour cette dernière :

Sheets(Me.COMPTE.Value).Range("J" & ligne).Value = Sheets(Me.COMPTE.Value).Range("F" & ligne).Value - Sheets(Me.COMPTE.Value).Range("I" & ligne).Value


Pour la première ligne, tu rajoutes un test juste derrière la ligne If GLOBEX .........:

If ligne = 3 Then Sheets(Me.COMPTE.Value).Range("F" & ligne).Value = Sheets(Me.COMPTE.Value).Range("D" & ligne).Value Else _
Sheets(Me.COMPTE.Value).Range("F" & ligne).Value = Sheets(Me.COMPTE.Value).Range("F" & ligne - 1).Value + Sheets(Me.COMPTE.Value).Range("D" & ligne).Value
If ligne = 3 Then Sheets(Me.COMPTE.Value).Range("I" & ligne).Value = Sheets(Me.COMPTE.Value).Range("G" & ligne).Value Else _
Sheets(Me.COMPTE.Value).Range("I" & ligne).Value = Sheets(Me.COMPTE.Value).Range("I" & ligne - 1).Value + Sheets(Me.COMPTE.Value).Range("G" & ligne).Value


Non cela ne passe pas il plante..
en faite peut etre qu 'il faut lui dire que juste pour la premier ligne

pour l achat :
- position nette : achat - 0
- cumul V : 0

et pour vente
- position nette : 0 - vente
-cumul A 0

dis moi ce que tu en pense ?
 

Discussions similaires

Réponses
3
Affichages
535

Statistiques des forums

Discussions
312 191
Messages
2 086 051
Membres
103 108
dernier inscrit
Captain NRJ