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 :

Macro Taux Augmentation


Sujet :

Macros et VBA Excel

  1. #21
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2008
    Messages : 101
    Par défaut
    Merci de me passer le code corriger
    car cela est tres vague pour moi desolé

  2. #22
    Invité
    Invité(e)
    Par défaut
    C'est simple à retenir :

    Quand vous utilisez Range("XY") :

    X est la (ou les) lettre(s) de la colonne et Y est le N° de ligne.

    Quand vous utilisez Cells(X, Y) :

    X est le N° de ligne et Y est le N° de colonne.

  3. #23
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2008
    Messages : 101
    Par défaut
    Je vous explique
    j'ai un tableau avec une liste de tarifs
    nom ville destination colonnetarif1 colone 2 .... nom villle collonne1 collonne 2...
    ainsi de suite

    et donc nom ville est pas un champs à prendre en compte dans la macro
    c'est pour sa que
    J'ai séparer
    Range
    et un autre Range mais sa marche pas

  4. #24
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Vous avez écrit :

    Je vous explique
    j'ai un tableau avec une liste de tarifs
    nom ville destination colonnetarif1 colone 2 .... nom villle collonne1 collonne 2...
    ainsi de suite

    et donc nom ville est pas un champs à prendre en compte dans la macro
    c'est pour sa que
    J'ai séparer
    Range
    et un autre Range mais sa marche pas
    Désolé mais je ne comprends grand chose à votre explication.

    Vous parlez de "Nom ville destination" alors que le fichier que vous avez joint précédemment ne comprend pas de nom de ville mais de département.

    Mais finalement, si j'ai bien compris on n'a pas à s'occuper de ce champ (c'est ce que vous précisez il me semble), il suffit de se préoccuper des colonnes comprenant le tarif, qu'il faut bien définir.

    Daranc vous a d'ailleurs proposé une solution (nommer les plages) à laquelle vous n'avez pas répondu.

    Sans autres précisions je ne vois pas comment vous aider car avec le fichier que vous avez fourni en exemple, le code qui permet le calcul du nouveau tarif fonctionne très bien, mais ?????

  5. #25
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 48
    Par défaut
    Bonjour


    En utilisant Insertion/Noms/Définir pour stocker le taux
    (ici nommé TAUX)

    NB:
    Dans le fichier donné en exemple , il y avait des espaces dans les cellules
    et le séparateur décimal était un point, pas une virgule.
    Pour que le code ci-dessous fonctionne, j'ai du supprimé les espaces
    et remplacé le point par une virgule.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub MACRO_TEST()
    Dim tarifs As Range
    Dim CELLULE As Range
    Taux_Augmentation = _
        Val(InputBox("Saisir le pourcentage d'augmentation."))
    LeTaux = _
        CStr(Replace((Taux_Augmentation / 100), ",", "."))
    ThisWorkbook.Names.Add "TAUX", "=" & LeTaux
    Set tarifs = Range("B8:L101")
    For Each CELLULE In tarifs
    CELLULE = CELLULE * (1 + [TAUX])
    Next
    Set tarifs = Nothing
    End Sub


    J.L

  6. #26
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2008
    Messages : 101
    Par défaut
    Bonjour,
    en fait comment je voulais deja fais remarqué jai plussieurs tableau excel regroupé dans 1 classeur, il y a des tarifs dedans
    je voulais savoir comment rechercher le tarif le plus bas précent dans le tablau en fonction de la feuille

    mon VB pour le moment est ça

    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
    Sub Logiciel_Transport()
    Dim poids As Integer
    Dim Transporteur As String
    Dim prixHt As String
    Dim typetransport As String
    Dim nbpalettes As Integer
     
     
    Public Function Transport(poids, typetransport, Transporteur, prixHt)
    End Function
     
    'Début
    poids = InputBox("Quel est votre Poids?")
    If poids < 250 Then
    typetransport = "messagerie" And Transporteur = "Mazet"
    Else
    If poids > 250 And poids > 990 Then
    typetransport = "messagerie palette" And Transporteur = "Mazet"
    If nbpalettes > 3 Then
    typetransport = "affretement" And Transporteur = "Mazet"
    Else
    Transporteur = "Mory"
    If Transporteur = "Mory" Then typetransport = "messagerie colis"
    Else
    If departement <> "leRepertoireDepartement (A10: A100)" Then
    prixHt = poids * "feuilletarifmoryaffretement" 
     
    End Sub

  7. #27
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2008
    Messages : 101
    Par défaut
    comment trouvez vous le coe vba

    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
    49
    50
    Sub Logiciel_Transport()
    Dim poids As Integer
    Dim Transporteur As String
    Dim prixHt As String
    Dim typetransport As String
    Dim nbpalettes As Integer
    Dim numdepartement As Integer
    Dim col As Integer 'colonne
    Dim lin As Integer ' ligne
    n°cellule = col + lin
    poids = col3
     
     
     
    Public Sub Transport(poids As Integer, typetransport As String, Transporteur As String, prixHt As Double)
    End Sub
    'Début
    poids = InputBox("Quel est votre Poids?")
    If poids < 250 Then
    typetransport = "messagerie"
    Transporteur = "Mazet"
    Else
    If poids > 250 And poids > 990 Then
    typetransport = "messagerie palette"
    Transporteur = "Mazet"
    Worksheets("Mazet_Messagerie_Palettes").Activate
    Worksheets("Mazet_Messagerie_Palettes").Range ("68" + 1)
    prixHt = poids * cell(numdepartement) + 10
     
    If nbpalettes > 3 Then
    typetransport = "affretement"
    Transporteur = "Mazet"
    Else
    Transporteur = "Mory"
    If Transporteur = "Mory" Then typetransport = "messagerie colis"
    Else
    If departement <> "leRepertoireDepartement (A10: A100)" Then
    Worksheets("Mory_Affretement").Activate
    Worksheets("Mory_Affretement").Range ("A" + 1)
    prixHt = poids * cell(numdepartement * 2) + 10
     
    Range("D5", 1).Value = "typetransport"
    Range("E5", 1).Value = "Transporteur"
    Range("F5", 1).Value = "prixHt"
     
    End Sub
     
     
     
    'Conditions
    y a t'il une astuce pour trouver le nombre le moins elevé dans une feuille de calcul ?
    en fonction des lignes et des colonnes si possibles
    moi ligne = departement colone = poids par tranche de 10

Discussions similaires

  1. Augmenter taille d'une macro-variable?
    Par joyeux_lapin13 dans le forum Macro
    Réponses: 9
    Dernier message: 26/04/2011, 14h58
  2. Macro pour calcul de taux d'incidence
    Par Impactin dans le forum Macro
    Réponses: 0
    Dernier message: 16/06/2010, 12h49
  3. [Toutes versions] macro pour excel : application d'une augmentation annuelle en %
    Par friseb dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 04/03/2010, 09h13
  4. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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