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 :

creation, incrementation et appel d'une variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut creation, incrementation et appel d'une variable
    bonjour,

    Je dispose de 10 feuilles dans un classeur Excel.

    sur chaque feuille la colonne A est un numéro de série (0x xxx xx)
    et la colonne B une valeur.

    je souhaiterais faire la somme de ces valeurs suivant le numéro de série.
    Les resultats sont affichés dans un tableau de la feuille "00"

    En gros c'est une sorte de SOMME.SI étendu à plusieurs feuilles.

    Comme mon nombre de feuilles est variable , je pense passer par du VBA pour effectuer cela.

    Mon idée:
    Scanner ligne par ligne les feuilles. Je pense creer une variable par numéro de série rencontré.
    Des qu'un numéro de serie est rencontré il additionne la valeur en B avec la valeur de la variable du mm nom que la colonne A.

    Je me demandais donc si on resonnement etait bon ? et enfin comment faire parce que je bloque.

    Je sais parcourir les différentes feuilles et les colonnes A et B mais je ne sais pas comment creer mes variables, les incrémenter avec la valeur en B et enfin les faire s'afficher dans mon tableau de la feuille "00".

    Merci par avance pour la récieuse aide que vous allez peut etre pouvoir m'offrir.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pas compris
    Tu as "0x xxx xx" dans une colonne et une valeur dans la suivante de la même ligne
    Que veux-tu faire ?
    "0x xxx xx" + Valeur => 01 245 10 + 12 = 01 245 22
    ou
    "0x xxx xx" & Valeur => => "01 245 10" & "12" = "01 245 1012"
    Quelque soit la manière, pourquoi créer un tableau ?
    Tu peux placer directement le résultat dans ta feuille "00"
    Comment veux-tu placer le résultat, par ligne ou par colonne ?

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut
    désolé je me suis peut etre mal exprimé :

    exemple :
    sur la feuille 01

    ___ A ___ | __ B __
    01 666 54 | 16
    01 666 53 | 8

    sur la feuille 02

    ___ A ___ | __ B __
    01 666 54 | 9
    01 666 55 | 8


    je voudrais pouvoir avoir sur la feuille 00

    ___ A ___ | __ B __
    01 666 54 | 27
    01 666 53 | 8
    01 666 55 | 8

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par Tifendro Voir le message
    je voudrais pouvoir avoir sur la feuille 00

    ___ A ___ | __ B __
    01 666 54 | 27 'Tu veux dire 25 ?
    01 666 53 | 8
    01 666 55 | 8
    A+

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut
    Salut, bon, j'ai fait un truc, c'est un peu du bidouillage, je sais pas si ça t'iras mais bon ça te fera au moins une piste si tu veux pas prendre ça tel quel...

    En gros, je stocke les differentes references de toutes tes feuilles sur une feuille "infos", puis je fais le cumul de chacune de ces references sur la même feuille "infos", mais bon y a sûrement moyen de faire mieux mais ça marche

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    Sub sommeref()
     
    Dim ref As String
     
    i = 1
    j = 1
     
    'RECUPERE LES DIFFERENTES REFERENCES ET LES STOCKE SUR UNE FEUILLE
     
    For ind = 1 To Workbooks("Mon Fichier.xls").Sheets.Count
     
        i = 1
     
        Do While Sheets(ind).Range("A" & i) <> ""
     
            trouv = 0
            j = 1
     
            Do While Sheets("infos").Range("B" & j) <> ""
     
                If Sheets(ind).Range("A" & i) = Sheets("infos").Range("B" & j) Then
     
                    trouv = 1
     
                End If
     
                j = j + 1
     
            Loop
     
            If trouv = 0 Then
     
                Sheets("infos").Range("B" & j) = Sheets(ind).Range("A" & i)
     
            End If
     
            i = i + 1
     
        Loop
     
    Next ind
     
    'PARCOURE LES DIFFERENTES REFERENCES PRECEDEMMENT TROUVEES ET FAIT LE CUMUL SUR CHAQUE REFERENCE POUR TOUTES LES FEUILLES
     
    i = 1
    j = 1
     
    Do While Sheets("infos").Range("B" & j) <> ""
     
        ref = Sheets("infos").Range("B" & j)
        cum = 0
     
        For ind = 1 To Workbooks("Mon Fichier.xls").Sheets.Count
     
            i = 1
     
            Do While Sheets(ind).Range("A" & i) <> ""
     
                If ref = Sheets(ind).Range("A" & i) Then
     
                    cum = cum + Sheets(ind).Range("B" & i)
     
                End If
     
                i = i + 1
     
            Loop
     
        Next ind
     
        Sheets("infos").Range("C" & j) = cum
        j = j + 1
     
    Loop
     
    End Sub

  6. #6
    Membre averti
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut
    je regarde tout ca et je reviens vers toi.

    Merci par avance pour ce que tu as fait.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/04/2007, 11h47
  2. Réponses: 1
    Dernier message: 27/02/2007, 11h28
  3. [T-SQL] Colonnes d'une table appelées avec une variable
    Par Deedoo2000 dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 25/09/2006, 15h18
  4. Problème d'appels d'une variable entre fonctions
    Par julien.nasser dans le forum MFC
    Réponses: 12
    Dernier message: 26/04/2006, 09h23
  5. appel d une variable ds un sub
    Par NeHuS dans le forum ASP
    Réponses: 7
    Dernier message: 05/01/2005, 15h38

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