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 VBA problème bizzare


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
    Août 2007
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 170
    Par défaut Macro VBA problème bizzare
    Bonjour,

    j'ai fait une macro pour pouvoir calculer des sommes en fonction de variables mais je ne comprends pas il me marque un débogage (j'ai réutilisé une macro qui faisait des sommes en évitant de prendre en compte les doublons de classe) .

    Je veux juste faire une somme si ma date et ma ref de ma feuil Data Global est égale à ma date et ma ref de ma feuil data prototype alors je fais une somme des valeurs de mes classes situé dans la colonne 6 de ma feuil data prototype et j'affiche le résultat dans ma colonne 10 de ma feuil data global

    Voici mon code et la ligne en rouge est la ligne ou il y a un débogage

    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
    Sub test()
        Dim i As Long
        Dim j As Long
        Dim wksCriteres As Worksheet
        Dim rngDataDate As Range
        Dim wksCopie As Worksheet
        Dim c As Range
        
        Set wksCriteres = Worksheets("Critères")
        Set wksCopie = Worksheets("Copie")
        
        ' Trouver le titre de la colonne dans la page de données globales
        Set rngDataDate = Worksheets("Data Global").UsedRange.Columns(1).Find(What:="Date")
        If Not rngDataDate Is Nothing Then            ' trouvé!
            ' on commence l'itération à la ligne suivante...
            i = 1
            While Not IsEmpty(rngDataDate.Offset(i, 0).Value)
                ' filtrer la table de prestation en fonction de la date et ref
                wksCriteres.Range("A2").Value = rngDataDate.Offset(i, 0).Value ' 0 colonne 'Date'
                wksCriteres.Range("B2").Value = rngDataDate.Offset(i, 1).Value ' 1 colonne à droite 'Ref'
                Worksheets("Data prototype").UsedRange.AdvancedFilter Action:=xlFilterCopy, _
                                        CriteriaRange:=wksCriteres.Range("A1:B2"), _
                                        CopyToRange:=wksCopie.Range("A1"), _
                                        Unique:=True
                For j = 2 To wksCopie.UsedRange.Rows.Count
                    rngDataDate.Offset(i, 7).Value = rngDataDate.Offset(i, 7).Value + wksCopie.UsedRange.Cells(j, 6).Value
                Next j
                wksCopie.Cells.Delete
                i = i + 1
            Wend
        End If
    End Sub

    Merci du coup de main

  2. #2
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 170
    Par défaut
    Ben si mon adresse de départ c'est


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Worksheets("Data prototype").UsedRange.AdvancedFilter Action:=xlFilterCopy, _
                                        CriteriaRange:=wksCriteres.Range("A1:B2"), _
                                        CopyToRange:=wksCopie.Range("A1"), _
                                        Unique:=True
                For j = 2 To wksCopie.UsedRange.Rows.Count

  3. #3
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 170
    Par défaut
    En fait je veux faire la somme des valeurs de mes classes en fonction de mes dates et de mes ref

    Voici comment se présente ma Feuil Data prototype:
    colonne1 2 5 6
    24/11/07 FF0006 J 58.
    24/11/07 FF0006 P 55.456052
    24/11/07 FF0006 Y 23778
    24/11/07 GH0008 J 3424
    24/11/07 GH0008 P 2402
    24/11/07 GH0008 Y 23
    24/11/07 ZZ0010 J 8058
    24/11/07 ZZ0010 Y 234
    24/11/07 ZY0018 J 2732
    24/11/07 ZY0018 Y 1,00
    24/11/07 ZP0022 J 1602
    24/11/07 ZP0022 P 5352


    et Voici comment se présente ma feuil data Global

    colonne1 2 8
    24/11/07 FF0006 ici somme des valeurs pour la mm date et ref 24/11/07 GH0008
    24/11/07 ZZ0010
    24/11/07 ZY0018
    24/11/07 ZP0022

  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
    Tu as raison, autant pour moi. Alors je ne vois pas.
    Désolé

  5. #5
    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
    Une question bête : Tu n'as pas de ligne ou colonne vide dans ta plage de données ?
    Vérifie où te place ta ligne de code avec un select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rngDataDate.Offset(i, 7).Select
    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wksCopie.UsedRange.Cells(j, 6).Select
    A tout hasard

  6. #6
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 170
    Par défaut
    Il met débogage à a ce niveau , coprends pas


    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
    Sub test()
        Dim i As Long
        Dim j As Long
        Dim wksCriteres As Worksheet
        Dim rngDataDate As Range
        Dim wksCopie As Worksheet
        Dim c As Range
        
        Set wksCriteres = Worksheets("Critères")
        Set wksCopie = Worksheets("Copie")
        
        ' Trouver le titre de la colonne dans la page de données globales
        Set rngDataDate = Worksheets("Data Global").UsedRange.Columns(1).Find(What:="Date")
        If Not rngDataDate Is Nothing Then            ' trouvé!
            ' on commence l'itération à la ligne suivante...
            i = 1
            While Not IsEmpty(rngDataDate.Offset(i, 0).Value)
                ' filtrer la table de prestation en fonction de la date et ref
                wksCriteres.Range("A2").Value = rngDataDate.Offset(i, 0).Value ' 0 colonne 'Date'
                wksCriteres.Range("B2").Value = rngDataDate.Offset(i, 1).Value ' 1 colonne à droite 'Ref'
                Worksheets("Data prototype").UsedRange.AdvancedFilter Action:=xlFilterCopy, _
                                        CriteriaRange:=wksCriteres.Range("A1:B2"), _
                                        CopyToRange:=wksCopie.Range("A1"), _
                                        Unique:=True
                For j = 2 To wksCopie.UsedRange.Rows.Count
                rngDataDate.Offset(i, 7).Select
                wksCopie.UsedRange.Cells(j, 6).Select
                    rngDataDate.Offset(i, 7).Value = rngDataDate.Offset(i, 7).Value + wksCopie.UsedRange.Cells(j, 6).Value
                Next j
                wksCopie.Cells.Delete
                i = i + 1
            Wend
        End If
    End Sub

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

Discussions similaires

  1. Ecriture macros VBA problème
    Par simpole dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/10/2013, 19h01
  2. [XL-2003] Macro VBA : Problème avec SaveAs Worksheet en .txt
    Par tity333 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/08/2010, 16h16
  3. [VBA]Problème de macro et de dimension.
    Par Invité dans le forum Général VBA
    Réponses: 2
    Dernier message: 26/04/2007, 11h50
  4. [EXCEL - VBA] Problème ouverture fichier suite Macro Userform
    Par Guidhy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/04/2007, 09h18
  5. [VBA-E] Problème de tableau dans macro VBA
    Par Chouls dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2006, 15h20

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