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 :

Paramétrer un tableau


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
    Octobre 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 85
    Par défaut Paramétrer un tableau
    Bonjour,

    j'ai une procédure qui rempli un tableau de la façon suivante:

    - en ligne j'ai les noms de mes vendeurs
    - en colonne j'ai des tranches de montant (colonne B: de 5 à 100 ; col C: de 2 à 5... en tout j'ai 5 tranches)
    Voici le code que j'ai fai (qui fonctionne sans problème) pour répartir ces montants:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Sub Repartition()
    Dim i As Integer
    Dim derli As Integer
     
    'Recherche de la dernière ligne de la colonne g
    'Colonne ou j'ai copié les montants correspondant à chaque vendeur
      derli = Columns(7).Find("*", , , , , xlPrevious).Row
     
      For i = 8 To derli
        If (Cells(i, 7).Value >= 5000000) Then
          'on copie le montant dans la colonne B
          Cells(i, 7).Select
          Selection.Copy
          Cells(i, 2).Select
          ActiveSheet.Paste
          Else
         If (Cells(i, 7).Value >= 2000000) Then
          'on copie le montant dans la colonne c
          Cells(i, 7).Select
          Selection.Copy
          Cells(i, 3).Select
          ActiveSheet.Paste
          Else
          If (Cells(i, 7).Value >= 500000) Then
          'on copie le montant dans la colonne d
          Cells(i, 7).Select
          Selection.Copy
          Cells(i, 4).Select
          ActiveSheet.Paste
          Else
          If (Cells(i, 7).Value >= 100000) Then
          'on copie le montant dans la colonne e
          Cells(i, 7).Select
          Selection.Copy
          Cells(i, 5).Select
          ActiveSheet.Paste
          Else
          'on copie le montant dans la colonne f
          Cells(i, 7).Select
          Selection.Copy
          Cells(i, 6).Select
          ActiveSheet.Paste
        End If
        End If
        End If
        End If
      Next
    End Sub
    Maintenant je souhaiterais l'optimiser afin que mon tableau soit paramétrer de la façon suivante:

    Si je change les montants de la tranche je veux que les ventes soient réparties automatiquement dans les nouvelles tranches.
    Exemple:

    1ere tranche: a la place des montants de 5 à 100 je veux les montants de 3 à 80 et ainsi de suite pour les autres tranches. Donc lorsque je rentre ma nouvelle tranche dans ma cellule, la colonne concernés ne doit accepter que les montants compris entre 3 et 80. (de meme si je met de 6 à 120)

    idem pour les autres tranches

    Donc voila, je veux intégrer ça dans ma macro mais j'ai besoin d'aide etant donné que je ne maitrise pas VB.

    Merci pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Une solution facile consiste à te faire un petit tableau à part qui contient tes 4 tranches. Ensuite tes conditions If ne vont plus être basées sur des valeurs brutes mais sur le contenu des cellules.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 85
    Par défaut
    A oui en effet je n'y avais pas pensé

    Merci Sash6 !

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

Discussions similaires

  1. WSDL et paramètres "structurés" tableau/table de hachage
    Par _-Sky-_ dans le forum Services Web
    Réponses: 1
    Dernier message: 17/04/2009, 13h36
  2. Passer en paramètre un tableau php dans une fonction javascript
    Par hartecel dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/07/2008, 15h17
  3. Passer en paramétre un tableau dans une procédure stockée
    Par killysui dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/04/2006, 11h47
  4. [VBA-E] passer en paramètre un tableau à 2 dimensions
    Par websurfeur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/04/2006, 10h46
  5. Réponses: 4
    Dernier message: 06/10/2005, 10h21

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