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 :

Selection d'une plage de cellules [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Points : 26
    Points
    26
    Par défaut Selection d'une plage de cellules
    Bjr à tous,
    Malgré de nombreux forum sur ce sujet, je ne trouve pas de réponse à mon probleme.
    "erreur 1004 : la méthode Select de la classe range a échoué" lorsque j'essaye de selectionner une plage de donnée variable (ligne 25 du code).

    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
     
    'Initialisation Onglet remise de Chèque
        Sheets("Remise cheques").Activate
        last_ligne = Range("A10000").End(xlUp).Row
        numero_dernier_bordereau = Cells(last_ligne, 1).Value
     
        ligne_bleue_debut = 6
        ligne_bleue_fin = 0
        ligne = 11
        P1 = 0
     
        Do While ligne_bleue_debut < 1000
            'init feuille de calcul
            If P1 = 0 Then
                Sheets("Remise cheques").Range("A6:Z10000").Select
                Selection.Delete Shift:=xlUp
                Sheets("Remise cheques").Range("F6").Select
                ActiveCell.FormulaR1C1 = _
                    "=IF(VLOOKUP(RC[-5],Compte!R4C2:R258C7,6,FALSE)="""","""",VLOOKUP(RC[-5],Compte!R4C2:R258C7,6,FALSE))"
                Sheets("Remise cheques").Range("A6").Select
                P1 = 1
            End If
            'mise en forme
            'Sheets("Remise cheques").Activate
            Range("A" & ligne_bleue_debut & ":F" & ligne_bleue_debut).Select
            With Selection.Interior
                .ColorIndex = 34
                .Pattern = xlSolid
            End With
            Sheets("Remise cheques").Range("F6").Select
            Selection.Copy
            Cells(ligne_bleue_debut, 6).Select
            Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
                False, Transpose:=False
                ligne_bleue_debut = ligne_bleue_debut + 1
            ligne_bleue_fin = ligne_bleue_debut + ligne
            Sheets("Remise cheques").Range(Cells(ligne_bleue_debut, 1), Cells(ligne_bleue_fin, 1)).Select
            Selection.Rows.Group
            ligne_bleue_debut = ligne_bleue_fin + 2
        Loop
    Si une bonne âme a une explication a mes déboires...
    Merci

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Est-ce que par hasard la variable ligne_bleue_debut ne serait pas égal à zéro ou inférieur au moment de l'erreur ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Points : 26
    Points
    26
    Par défaut
    Bjr Philippe,
    la variable ligne_bleue_debut est initialisée à 6 en ligne 7 du code et reste bien à 6 jusqu'au plantage.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Alors je ne vois pas où est le problème. Je viens de faire le test sur la feuille active et je n'ai pas eu de soucis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim ligne_bleue_debut As Long
     ligne_bleue_debut = 6
     Range("A" & ligne_bleue_debut & ":F" & ligne_bleue_debut).Select
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Points : 26
    Points
    26
    Par défaut
    Bjr,
    même si je tape
    ça plante...Foutrement bizarre

    bon a priori, il fallait faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Remise cheques").range
    et non pas que "range" dans la feuille active, je n'ai pas d'explication sur la raison.

    Et range ne fonctionne tjrs pas avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range (cells(a,b),cells(c,d)).select

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pourquoi utiliser la méthode Select ?
    Si c'est pour lire et écrire sur une cellule ou plage de cellules, c'est parfaitement inutile et de plus cela ralenti l'exécution de la procédure
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Points : 26
    Points
    26
    Par défaut
    Bjr,
    j'utilise effectivement cette méthode pour écrire/supprimer/mettre des couleurs dans la cellule.
    Ok pour l'info.
    merci

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

Discussions similaires

  1. [XL-2003] selection d'une plage de cellules
    Par tioch dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 20/07/2011, 12h21
  2. [XL-2000] Selection d'une plage de cellule avec InputBox
    Par ferdi67 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/09/2009, 10h17
  3. Selection d'une plage de cellules dans DatagridView [Vb.Net]
    Par papy75 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/06/2008, 12h03
  4. Selection d'une plage de cellules variables
    Par bykeman dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/06/2008, 10h20
  5. Réponses: 2
    Dernier message: 15/06/2007, 10h55

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