IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

requete sur du code vba [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 97
    Par défaut requete sur du code vba
    bonjour,

    pr bien expliquer ma requete ... je voudrais a travers mon code assembler 2 cellules pour former un ensemble texte du style EUR / USD

    les devises sont représentées par des nombres ..... et renvoyer cette sélection (EUR/USD) dans une plage de cellule ds une autre page


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    '' Declarer dev pour remplir la case currency pair
     
                Dim CCYOC As Integer
                Dim CCYTC As Integer
                Dim PAIR As String
                Dim CURPAIR As Range
                    For CCYOC = 1 To 3
                        Select Case CCYOC
                            Case 1: CCYOC = "EUR"
                            Case 2: CCYOC = "USD"
                            Case 3: CCYOC = "GBP"
                        End Select
                    Next CCYOC
     
     
                    For CCYTC = 1 To 3
                        Select Case CCYTC
                            Case 1: CCYTC = "EUR"
                            Case 2: CCYTC = "USD"
                            Case 3: CCYTC = "GBP"
                        End Select
                    Next CCYTC
     
                Set PAIR = CCYOC & " / " & CCYTC
                Set CURPAIR = Sheets(Nom).Range("C9: D9")
                CURPAIR = PAIR

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Pas bien expliqué, et le "code" proposé est assez bizarre (désolé)
    Je ne vais pas le commenter, parce que sans intérêt pour la suite
    A toi de bien expliquer clairement et avec un exemple concret ce que tu veux faire (c'est un premier pas)
    ensuite, je te suggère de bien te documenter (entre autre sur ce site, la faq, les tutos...)

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    Pas compris non plus quel est l'objectif, mais je vais commenter ce qui me parait dysfonctionnel dans le code présenté :
    .

    bon, ça ça veut dire que CCYOC est un numérique.

    or dans ton Select case, tu mets en résultat(je ne parle pas de l'aiguillage, qui bien que bizarre, me parait fonctionnel)
    ça ne peut pas marcher. Dans un numérique, on met du numérique. Si tu as besoin en sortie d'un texte, c'est-à-dire en VBA d'un string, il te faut une variable supplémentaire. Ou alors alimenter directement la string PAIR.

    Enfin, il y a, il me semble, une erreur algorithmique. ça boucle sur CYOCC, donc ça le fait varier de 1 à 3, puis, dans la boucle, ça alimente en fonction de CYOCC. Résultat : à la fin de la boucle, le remplissage se fait avec la valeur décidée quand CYOCC vaut 3. Remplissage erroné, puisque non seulement il se fait sur une variable numérique dans laquelle on met de l'alpha, mais en plus qui est celle de la boucle.

    Dernière perversion, le set sert à assigner les objets. PAIR n'est pas un objet, c'est un string. Donc pas de set pour PAIR.



    EDIT

    idée de code(à la va-vite, et pas forcément adaptée à ton besoin, juste pour donner un exemple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub Main()
        Dim C1 As Integer, C2 As Integer
        Dim T1 As Integer, T2 As Integer
        Dim PAIR As String, LIGNE As Integer
        For C1 = 1 To 3
            For C2 = 1 To 3
                PAIR = NomDevise(C1) & " - " & NomDevise(C2)
                LIGNE = (C1 * 3) + C2 - 3 'calcule le numéro de ligne
                Cells(LIGNE, 4) = PAIR 'remplit les cellules de D1 à D9
            Next C2
        Next C1
    End Sub
    Function NomDevise(NumeroDevise As Integer) As String
        Select Case NumeroDevise
            Case 1
                NomDevise = "EUR"
            Case 2
                NomDevise = "GBP"
            Case 3
                NomDevise = "USD"
            Case Else
                NomDevise = ""
        End Select
    End Function

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. j'ai oublié mon mot de passe sur le code VBA
    Par KOUADIO SEVERIN dans le forum Access
    Réponses: 1
    Dernier message: 16/07/2008, 22h40
  2. requete sql dans code vba
    Par kernel57 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/01/2008, 15h30
  3. une erreur qui se produit sur un code VBA
    Par bambi98 dans le forum VBA Access
    Réponses: 3
    Dernier message: 10/02/2007, 14h13
  4. [Débutant] Critères de requete sur dates - Programmation VBA
    Par Sofie109 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/01/2007, 15h35
  5. EXCEL/ VBA Erreur sur le code VBA : rediriger l’erreur
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/12/2006, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo