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 d’exécution sur RANGE [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Autre
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2017
    Messages : 7
    Par défaut Erreur d’exécution sur RANGE
    Bonjour a Tous,

    Dans un Userform j'essaie de récupérer les entêtes de colonnes de 4 onglets dans 4 listbox.
    Une boucle de 0 a 3. Le premier tours de boucle fonctionne mais arrivé a i=1, l'objet MyRange ne fonctionne plus. Et j'avoue ne pas savoir pourquoi.

    Erreur d’exécution '1004':
    Erreur définie par l'application ou par l'objet.


    A mon avis y'a un gros truck sous mon nez, je le sens dans ma tripaille.
    Et si vous constatez un meilleur code pour arrivé a mes fins, je suis preneur.

    Merci pour votre aide.

    Bonne journée

    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
     
    Private Sub UserForm_Initialize()
        Dim TabOngl(3) As String
        Dim TabObj(3) As Object
        Dim MyRange As Range
        Dim i as Integer
        Dim MyLong As Long
        Dim element As Object
     
        TabOngl(0) = "SFR MOBILE"
        TabOngl(1) = "SFR FIXE ADSL"
        TabOngl(2) = "ORANGE MOBILE"
        TabOngl(3) = "ORANGE FIXE"
        Set TabObj(0) = Me.LB_ParamColExistSM
        Set TabObj(1) = Me.LB_ParamColExistSFA
        Set TabObj(2) = Me.LB_ParamColExistOM
        Set TabObj(3) = Me.LB_ParamColExistOF
     
        For i = 0 To 3
            MyLong = Sheets(TabOngl(i)).UsedRange.Columns.Count - 1
            Set MyRange = Sheets(TabOngl(i)).Range(Cells(1, 1), Cells(1, MyLong))
            For Each element In MyRange
                TabObj(i).AddItem element
            Next element
            Set MyRange = Nothing
        Next i
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    es-tu certain que tes 4 onglets contiennent bien des données en ligne 1 ?

    Sinon, ça serait fâcheux car MyLong vaudrait 0 .... d'où le plantage évident de MyRange qui ne peut contenir une cellule avec une colonne numéro 0

  3. #3
    Membre habitué
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Autre
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2017
    Messages : 7
    Par défaut
    Salut joe.levrai,

    Tu m'as mis le doute, j'ai donc vérifié malheureusement MyLong est a 152. Du coups un trop grand nombre de colonnes peut il engendrer un problème?

    Par contre je te remercie. J'ai oublié de gérer le cas ou Mylong serait a 0.

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    rajoute la feuille hôte devant chacun des cells, j'avais pas fait gaffe à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MyRange = Sheets(TabOngl(i)).Range(Sheets(TabOngl(i)).Cells(1, 1), Sheets(TabOngl(i)).Cells(1, MyLong))

  5. #5
    Membre habitué
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Autre
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2017
    Messages : 7
    Par défaut
    Sans déconné c’était trop easy.
    Je suis une vrais quiche lorraine, c'était évident comme le nez au milieu de la figure.

    Merci a toi joe.levrai, et désolé pour la perte de temps.

    Et continuez comme ça sur le Forum je suis une vrais groupie de votre boulot. (C'est français ça ? )

    Au plaisir de vous lire dans d'autres topics.

    Bye

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Après la groupie du pianiste, la groupie de DVP.net


+ 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. [XL-2007] Erreur 1004 sur Range
    Par Ranei dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/01/2011, 12h31
  3. 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
  4. Réponses: 8
    Dernier message: 25/01/2008, 11h48
  5. erreur 1004 sur un range
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/11/2007, 16h35

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