[VBA] Need help

cs_Sn1Pa
Messages postés
3
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
28 septembre 2006
- 28 sept. 2006 à 10:32
cs_Sn1Pa
Messages postés
3
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
28 septembre 2006
- 28 sept. 2006 à 13:41
Voila je débute en VBA et je dois modifier une maccro déja existente pour la mettre à jour.
Je vais essayé de vous expliquez :

La maccro doit générer un fichier xml qui nous donnera des info pour creer une KEY pour le client

Donc "Y4I" c'est le nombre de poste que le client peut installer ( qu'il a acheter )
          "Y4J" c'est le nombre d'email acheter

Puis défois nos clients ont besoin de plus lors des jours comme noel ou st valentin par exemple.
Pour cela nos client peuvent acheter une option qui leur permet d'avoir 30% de poste en plus durant 10j/ ans  :    "Y2E" est donc 30% de Y4I
                        et   "Y2F" est 30% de Y4J

Mais maintenant je veux que ces 2 valeurs devienne une valeur : Y2K mais que dans le fichier XML cela affiche toujours la meme chose...

Ma question est la suivante : Avant on cherchait les valeur Y2E et Y2F et on mettait le commentaire et le calcul dans le fichié xml maintenant comment faire pour que avec Y2K cela prenne en compte les 2 ligne (Y2E et Y2F) jespere etre clair

Je vous mets un extrait du CODE qui est a actualiser :

[code]*** recherche des valeurs des EC : Y4I et Y4J pour calculer les OVERRUN ********


'If UMA "Y4I" Then Y4I valeur'If UMA "Y4J" Then Y4J valeur


'********************************************************************************


If UMA "Y2G" Then Y2G valeur


If UMA "Y2k" Then valeur arrondir(0.3 * Y4I)If UMA "Y2k" Then If UMA "Y4J" Then valeur = arrondir(0.3 * Y4J)
    If UMA "Y4K" Then valeur arrondir(valeur * 1.5)


'***********************************************************************
'*** on recherche la désignation correspondant à l'UMA dans la table ***
'***********************************************************************
       
Cells(3, 1).Select
   
Do While (Selection.Value <> "")
   
    If (Left(Selection.Value, 3) = UMA) Then
       
        EC = Cells(ActiveCell.Row, 2).Value
        Comment = Cells(ActiveCell.Row, 3).Value
        SDate = Cells(ActiveCell.Row, 4).Value
        EDate = Cells(ActiveCell.Row, 5).Value
       
        Exit Do
       
    Else
       
        Cells(ActiveCell.Row + 1, 1).Select
       
    End If
       
Loop
       
If (Y2G_test = True) Then
    SDate = ""
    EDate = 60
End If
       
'***************************************************************************
'*** on récupère "StartDate" et "End Date" dans l'extract le cas échéant ***
'***************************************************************************
                       
StartDate = Workbooks(Mid(Classeur_Extract, 2)).ActiveSheet.Cells(ligne, 8).Value
EndDate = Workbooks(Mid(Classeur_Extract, 2)).ActiveSheet.Cells(ligne, 9).Value
                               
'*** date du jour ***


d = Date
                       
'*** s'il n'y a qu'une "StartDate" (cf table) ***
                        If (UCase(SDate) "X" And EDate "" And valeur <> 0) Then
                                                                If (StartDate "") Then StartDate d
   
    'MsgBox (d)
    'MsgBox ("StartDate Y2kouF : " & StartDate)
    'MsgBox (EndDate = "")
        'If (EndDate "") Then EndDate CDate(StartDate) + 30
   
    'MsgBox ("EndDate Y2kouf : " & EndDate)
               
    StrExpr = "      <FEATURE ENCRYPTCODE=""" & EC _
                                   & """ QUANTITY=""" & valeur _
                                   & """ STARTS=""" & StartDate _
                                   & """ COMMENT=""" & Comment & """/>" [\code]

4 réponses

cs_vpoyo
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
5
28 sept. 2006 à 11:15
salut,

Je suis loin d'être un pro avec excell (en général j'évite meme ^^)
mais perso je toucherais pas le fonctionnement de la macro.
Si tu mets dans Y2K une formule basée sur les deux autres cellules, Y2K sera mis à jour automatiquement. ta macro restera donc identique au détail près qu'elle ira chercher l'info dans Y2K
0
cs_Sn1Pa
Messages postés
3
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
28 septembre 2006

28 sept. 2006 à 11:26
oui en effet cela pourraite etre une solution... mais quel formule?? il faudrait en fait qu'il lise la cellule a coté de Y2K puis celle d'en dessous aussi... je ne sais pas comment faire :/
0
cs_vpoyo
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
5
28 sept. 2006 à 11:44
ben petit exemple rapidos supposons que tu veux danc C1 la résultat de la somme des deux cellules précédentes ben dans C1 tu écris :

=A1+B1

donc pour la formule suffit juste de faire commencer par le symbol =, et d'écrire le calcul dont tu as besoin en te servant des cellules nommées
0
cs_Sn1Pa
Messages postés
3
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
28 septembre 2006

28 sept. 2006 à 13:41
oué mais le truc c'est que c'est pas un calcul faut juste que sa affiche le texte de la célule a coté de Y2K et celle d'en dessous dans le fichié xml
0