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 :

Consommations véhicules par vba [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut Consommations véhicules par vba
    Bonjour
    Je souhaite faire la consommation d'une flotte de véhicules
    Les quantités de gazole sont en colonne H
    Les kilométrages en colonne I
    Cette macro insère une ligne à chaque changement d'immatriculation en colonne C et fait la somme des quantités de la colonne H ainsi que la somme des kilometrages de la colonne I
    Je souhaiterais ajouter à cette macro la consommation en colonne J avec cette formule =Somme (H/I*100) les ??????? mis dans le code
    Merci à vous
    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
    Sub SousTotaux()
    Dim i As Long
    Dim Iprec As Long
    Dim strNom As String
     
    i = 4 'termine à la 4ème ligne du haut
    'Boucle sur tant que la colonne B n'est pas vide
    Do While Range("B" & i).Value <> ""
        'Si nom de la ligne <> du nom precedent
        If strNom <> Range("B" & i).Value Then
            If strNom <> "" Then
                'insere une ligne
                Rows(i).Insert
                'insere la somme
                Range("H" & i).FormulaLocal = "=somme(H" & Iprec & ":H" & i - 1 & ")"
                Range("I" & i).FormulaLocal = "=somme(I" & Iprec & ":I" & i - 1 & ")"
                Range("J" & i).FormulaLocal = "?????????????????????????????????"
                'mémorise la ligne de début e la prochaine section
                Iprec = i + 1
            End If
            Iprec = i
            strNom = Range("B" & i).Value
        End If
        i = i + 1
    Loop
    'insere la dernière formule
    Range("B" & i).FormulaLocal = "=somme(B" & Iprec & ":B" & i - 1 & ")"
     
    End Sub

  2. #2
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    J'ai trouvé
    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
    Sub SousTotaux()
    Dim i As Long
    Dim Iprec As Long
    Dim strNom As String
     
    i = 4 'termine à la 4ème ligne du haut
    'Boucle sur tant que la colonne B n'est pas vide
    Do While Range("B" & i).Value <> ""
        'Si nom de la ligne <> du nom precedent
        If strNom <> Range("B" & i).Value Then
            If strNom <> "" Then
                'insere une ligne
                Rows(i).Insert
                'insere la somme
                Range("H" & i).FormulaLocal = "=somme(H" & Iprec & ":H" & i - 1 & ")"
                Range("I" & i).FormulaLocal = "=somme(I" & Iprec & ":I" & i - 1 & ")"
                Range("J" & i).FormulaR1C1 = "=IF(RC[-2]="""","""",RC[-2]/RC[-1]*100)"
                'mémorise la ligne de début e la prochaine section
                Iprec = i + 1
            End If
            Iprec = i
            strNom = Range("B" & i).Value
        End If
        i = i + 1
    Loop
    'insere la dernière formule
    Range("B" & i).FormulaLocal = "=somme(B" & Iprec & ":B" & i - 1 & ")"
     
    End Sub

  3. #3
    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
    Bonsoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J" & i).FormulaR1C1 = "=RC[-2]/RC[-1]*100"

  4. #4
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    Bonsoir Mercatog
    Merci à toi
    Amitié

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

Discussions similaires

  1. Mise en forme table access par VBA ou SQL
    Par romrai dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/02/2006, 12h29
  2. Mettre une image sur bouton par VBA????
    Par electrosat03 dans le forum IHM
    Réponses: 3
    Dernier message: 17/02/2006, 01h54
  3. Faire une MAJ de recordsetclone par VBA.
    Par electrosat03 dans le forum Access
    Réponses: 4
    Dernier message: 03/02/2006, 17h42
  4. Imprimer des selections excel en pdf par VBA
    Par ouellet5 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/12/2005, 17h29
  5. Consommation memoire par classe
    Par spartikis dans le forum C++
    Réponses: 5
    Dernier message: 25/07/2005, 16h42

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