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 :

Erreur 1004 sur Range [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Erreur 1004 sur Range
    Bonjour !


    Alors voilà, pour un cours j'essaye de calculer une somme mensuelle, à partir d'un tableau excel où dans la colonne C il y a les dates à partir du rang 10 et les choses à sommer quotidiens dans la colonne i.

    Voilà ce que j'ai programmé. Mais au niveau de annee2, j'ai l'erreur 1004 avec Range de l'objet Global a échoué... ne connaissant pas grand chose aux macros Excel, je ne sais pas quoi faire !

    J'espère que vous pourrez m'aider !
    Merci d'avance !


    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
    Dim mois As Double, annee As Double, somme As Double, annee2 As Double, mois2 As Double, i As Double
    
    annee = InputBox("Entrez l'année dont vous souhaitez faire le calcul. (sous forme 2010 par ex)", "Somme mensuelle :Choix de l'année")
    mois = InputBox("Entrez le mois dont vous souhaitez faire le calcul. (sous forme 09 par ex pour septembre)", "Somme mensuelle :Choix du mois")
    
    somme = 0
    
    For i = 10 To 65536
    
    Workbooks("macroexcel.xls").Sheets("Feuil1").Activate
        annee2 = Right(Range("C" & Str(i)).Value, 4)    
        MsgBox (annee2)
        
            If annee2 = annee Then
                    mois2 = Mid(Range("C" & Str(i)).Value, 4, 2)
                    
                        If mois2 = mois Then
                            somme = somme + Range("I" & Str(i)).Value
                        End If
            End If
            
    Next i
    
    MsgBox (Str(somme))

  2. #2
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    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
    Dim Annee As Integer
    Dim Somme As Double
    Dim Mois As Byte
    Dim Dte As Date
    Dim i As Long
     
    Annee = InputBox("Entrez l'année dont vous souhaitez faire le calcul. (sous forme 2010 par ex)", "Somme mensuelle :Choix de l'année")
    Mois = InputBox("Entrez le mois dont vous souhaitez faire le calcul. (sous forme 09 par ex pour septembre)", "Somme mensuelle :Choix du mois")
     
    'il faut tester sur les valeurs entrées par l'utilisateur
    With Workbooks("macroexcel.xls").Sheets("Feuil1")
       For i = 10 To .Cells(.Rows.Count, "C").End(xlUp).Row
          If IsDate(.Range("C" & i).Value) Then
             Dte = .Range("C" & i).Value
             If Year(Dte) = Annee Then
                If Month(Dte) = Mois Then
                   Somme = Somme + .Range("I" & i).Value
                End If
             End If
          End If
       Next i
    End With
    MsgBox Somme

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup !

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

Discussions similaires

  1. [XL-2010] Erreur '1004' sur objet un Range lors d'un .copy
    Par ericjha dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/11/2014, 16h35
  2. Erreur 1004 sur Range(cells,cells).copy
    Par Sebastien57 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2009, 11h33
  3. Réponses: 8
    Dernier message: 25/01/2008, 11h48
  4. erreur 1004 sur un range
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/11/2007, 16h35
  5. Erreur 1004 sur une boucle simple
    Par ruzakruzak dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/07/2007, 09h00

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