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 :

1004 Autofill classe Range échoué


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2017
    Messages : 5
    Points : 5
    Points
    5
    Par défaut 1004 Autofill classe Range échoué
    Bonjour,
    Je me permets de creer un poste car je rencontre un souci avec la fonction autofill sous excel.
    J'ai fait plusieurs tentatives mais rien de fructueux.

    Pourriez-vous me porter assistance ?

    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
    Sub AutoRemplissage()
        Dim x, s, d As Integer
        Dim Sr, Dr As Range
        Dim Ws As Worksheet
            For x = 3 To 6
                Set Ws = ThisWorkbook.Sheets(x)
                Ws.Select
     
                Range("A2500").Select
                Selection.End(xlUp).Select
                d = ActiveCell.Row
                Set Dr = Ws.Range(Cells(d, 1), Cells(d, 2))
     
                Range("C2500").Select
                Selection.End(xlUp).Select
                s = ActiveCell.Row
                Set Sr = Ws.Range(Cells(s, 1), Cells(s, 2))
     
                'ligne en litige
                Sr.AutoFill Destination:=Dr
                'testé avec
                Range(Sr).AutoFill Destination:=Range(Dr)
     
            Next
    End Sub
    Merci par avance

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonsoir,

    Ce que tu fais ne peut pas fonctionner, tu veux faire quoi au juste ? Remplir les colonnes A et B jusqu'à la dernière cellule non vide de la colonne C ?
    Si c'est le cas, inspire toi de ceci :
    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
     
    Sub Test()
     
        Dim PlgAB As Range
        Dim Lgn As Long
     
        'pour une incrémentation des valeurs, il faut qu'il y est au moins deux lignes avec des valeurs différentes
        Set PlgAB = Range("A1:B2")
     
        'recherche la dernière ligne non vide en colonne C
        Lgn = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
     
        'puis redimensionne la plage du nombre de lignes et tire vers le bas
        PlgAB.AutoFill PlgAB.Resize(Lgn)
     
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2017
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonsoir Theze

    Merci pour ton aide, cela fonctionne à merveille.

    Ci dessous mon code final.

    Cdt

    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
    Sub AutoRemplissage()
        Dim x, s, d, l As Integer
        Dim Sr, Dr As Range
        Dim Ws As Worksheet
     
            For x = 4 To 7
                Set Ws = ThisWorkbook.Sheets(x)
                Ws.Select
     
                d = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
                s = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
                Set Sr = Ws.Range(Cells(s, 1), Cells(s, 2))
                l = d - s + 1
     
                If l > 1 Then
                    Sr.AutoFill Sr.Resize(l)
                End If
     
            Next
    End Sub

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/01/2016, 12h52
  2. Erreur d'exécution 1004 : la classe Range a échoué.
    Par stagiairecg dans le forum Excel
    Réponses: 3
    Dernier message: 31/03/2015, 13h55
  3. Réponses: 11
    Dernier message: 09/07/2014, 16h40
  4. Problème Select (Methode Select de la classe Range à échoué)
    Par linkcr15 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 05/06/2012, 09h43
  5. [XL-2003] [VBA] Erreur 1004 - Delete Classe range
    Par mirmoleboss dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/07/2011, 16h53

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