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 :

Application Defined - or Object error


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 89
    Par défaut Application Defined - or Object error
    Je n'arrive pas à comprendre d'ou vient cette erreur !!!! Pour une fois que j'écris tout le code tout seul ca fonctionne 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
    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
    Private Sub CommandButton1_Click()
     
    Dim i As Integer
    Dim r1, r2, ranges As Range
    Dim DebutX As Integer
    Dim FinX As Integer
    Dim j As Integer
    Dim k As Integer
     
    'Definition du i 
     
      If Cbo_device.Value = "a" Then
            i = 2
        ElseIf Cbo_device.Value = "b" Then
            i = 3
        ElseIf Cbo_device.Value = "c" Then
            i = 4
        ElseIf Cbo_device.Value = "d" Then
            i = 5
        ElseIf Cbo_device.Value = "e" Then
            i = 6
        ElseIf Cbo_device.Value = "f" Then
            i = 7
      End If
     
    ' Tentative de trouver le numéro de la collone correspondant
    ' correspondant à la selection dans une combobox, cette partie du code ne
    ' fonctionne pas               
     
    For j = 2 To 256
     If j.value = cbo_debut.Value Then
        ActiveCell.Columns = DebutX
        End If
        Next j
     
    For k = 2 To 256
     If k.value = cbo_fin.Value Then
        ActiveCell.Columns = FinX
        End If
        Next
     
    'Definition des plages pour le graph       
    Set r1 = Sheets("Data").Range(Cells(1, DebutX), Cells(1, FinX))
    Set r2 = Sheets("Data").Range(Cells(i, DebutX), Cells(i, FinX))
    Set ranges = Union(r1, r2)
     
        Charts.Add
        ActiveChart.ChartType = xlLineMarkers
        ActiveChart.SetSourceData Source:=ranges, PlotBy:= _
            xlRows
        ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graph Alliance"
        With ActiveChart
            .HasAxis(xlCategory, xlPrimary) = True
            .HasAxis(xlValue, xlPrimary) = True
        End With
        ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
        ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowValue, LegendKey:=False
     
    End Sub
    Tout fonctionne à part la partie ou je tente de trouver le numéro de la collone...

    Merci d'avance si qq à une idée !
    ++ Arnaud

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Elle est sur quelle ligne ton erreur ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 89
    Par défaut
    L'erreur est au niveau de la défnition des r1 et r2
    et aussi des deux boucle For J... et For k ...

    @+

  4. #4
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut,

    Lorsque tu as des erreurs : ce serait pas mal que tu nous les communiques

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim r1, r2, ranges As Range
    Ici r1 et r2 sont déclarés comme Variant !!
    Si tu veux que ce soit Range il faut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim r1 As Range, r2 As Range, ranges As Range

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 89
    Par défaut
    Merci, je pensais que ça équivalais ...

    Malheureusement l'erreur reste la même "Application defined...." à la ligne :

    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
     
     
    For j = 2 To 256
     If ActiveCell.Value = cbo_debut.Value Then
        ActiveCell.Column = DebutX
        End If
        Next j
     
    For k = 2 To 256
     If ActiveCell.Value = cbo_fin.Value Then
        ActiveCell.Column = FinX
        End If
        Next
     
    'L'ERREUR EST SUR LES LIGNES SET R1 et SET R2     
    Set r1 = Sheets("Data").Range(Cells(1, DebutX), Cells(1, FinX))
    Set r2 = Sheets("Data").Range(Cells(i, DebutX), Cells(i, FinX))
    Set ranges = Union(r1, r2)

    Je pense que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For j = 2 To 256
     If ActiveCell.Value = cbo_debut.Value Then
        ActiveCell.Column = DebutX
        End If
        Next j
    n'est pas approprié pour trouver le numéro de la collone correspondant à la selection dans ma combobox !

    Merci mille fois

  6. #6
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Si DebutX sert à stocker le numéro de colonne, tu devrais plutôt écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DebutX = ActiveCell.Column

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/06/2014, 15h55
  2. [XL-2010] Run time error 1004 Application defined or object defined
    Par AmbreM dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/09/2013, 18h00
  3. Application-defined or object-defined error
    Par Vivi127 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/09/2011, 12h42
  4. Réponses: 1
    Dernier message: 20/02/2010, 08h03
  5. [XL-2003] Error 1004 - Application-defined or object-defined
    Par DaRisK dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/05/2009, 19h49

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