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 :

Choisir sur quelle feuille exécute l'AutoFill


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2019
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Choisir sur quelle feuille exécute l'AutoFill
    Bonjour,

    Mon problème est que je voudrais que l'autofill s'exécute sur la feuil1 car dans mon fichier j'ai 2 feuilles Excel.

    Merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ActiveCell.FormulaR1C1 = "=(RC[-1]/(COUNTA(R8C10:R14C10)))"
     
    Dim DernLigne As Long
     
    DernLigne = Sheets("Feuil1").Range("K" & Rows.Count).End(xlUp).Row
    Range("L8").AutoFill Destination:=Range("L8:L" & DernLigne)
     
    End Sub

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    bonsoir
    si ça fonctionne sur ton feuille et non pas sur la feuille 1 essayer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ActiveCell.FormulaR1C1 = "=(RC[-1]/(COUNTA(R8C10:R14C10)))"
     
    Dim DernLigne As Long
     
    DernLigne = Sheets("Feuil1").Range("K" & Rows.Count).End(xlUp).Row
     Sheets("Feuil1").Range("L8").AutoFill Destination:=Range("L8:L" & DernLigne)
     
    End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2019
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Quand je vais ça il y a un message d'erreur qui dit
    Erreur 1004 La méthode 'Range' de l'objet'_Global' a échoué

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    peux tu joindre un fichier exemple avec qq ligne de données fictives et explique davantage ce que tu cherches à faire stp
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  5. #5
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2019
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    oui voici le fichier Excel la macro c'est Test au module 1
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Sans rappeler le rattachement nécessaire, voire obligatoire, des objets, je me permets d'insister.
    Si une formule doit affecter plusieurs cellules, alors cette action peut s'exécuter simultanément.
    Il n'est donc pas besoin d'utiliser la méthode - lourde - Autofill.

    Quant à la formulation, mieux vaut utiliser Formulalocal.

    Voir le 2ème code du post #10 de cette discussion.

    C'est juste mon avis.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  7. #7
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    le code doit s'exécuter sur la feuille 2 non ?

    si c'est le cas (y a une erreur dans ta formule ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    With Sheets("Feuil2")
     .Activate
     .Range("G5").Select
     ActiveCell.FormulaR1C1 = "=((NUMBERVALUE(RC[-2]))*10)+(RC[-1]*10000)"
     .Range("G5").Select
     Selection.AutoFill Destination:=Range("G5:G25"), Type:=xlFillDefault
     .Range("G5:G25").Select
     .Range("G26").Select
     ActiveCell.FormulaR1C1 = "=(SUM(R[-21]C:R[-1]C))+(SUM(R[-21]C:R[-1]C)/10)"
     Selection.NumberFormat = "0.00"
     
      End With
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  8. #8
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2019
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Oui une partie du code doit s"exécute sur la Feuil2 mais la derniere partie du code sur la Feuil1 car les infos que j'affiche j'ai besoin de les voir a la Feuil1 dans la colonne L

  9. #9
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    pour la partie du code qui concerne la feuil1 comme indiqué ci haut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    with sheets("feuil1")
        .
        .
        .traitement
        ...
    end with
    sans oublier de mettre un point devant le range et/ou cells (exemple : .range("A" & i) ou bien .cells(i,1) quand vous êtes encore entre le with et le end with.
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  10. #10
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2019
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Voila mon code ça fonctionne comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ActiveWorkbook.Sheets("Feuil1").Select
     
    Range("L8").Select
     ActiveCell.FormulaR1C1 = "=(RC[-1]/(COUNTA(R8C10:R20C10)))"
     
    Dim DernLigne As Long
     
    DernLigne = Sheets("Feuil1").Range("K" & Rows.Count).End(xlUp).Row
    Range("L8").Select
    Selection.AutoFill Destination:=Range("L8:L" & DernLigne)

  11. #11
    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
    Sans les select et sans l'autofill

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
     
    With Worksheets("Feuil1")
        .Range("L8:L" & .Cells(.Rows.Count, 11).End(xlUp).Row).FormulaR1C1 = "=(RC[-1]/(COUNTA(R8C10:R20C10)))"
    End With
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  12. #12
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut mercatog,

    C'est ce que j'ai écrit plus haut.
    A cette différence près, je préfère Formulalocal.
    Cette propriété offre, à mon avis, plus de lisibilité.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  13. #13
    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
    Bonjour Marcel

    Oui effectivement j'avais vu. Mais comme l’intéressé n'a probablement pas pu s'en sortir, je me suis permis de l'écrire clairement au cas où.
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  14. #14
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Aucun problème, tu penses bien.

    Je voulais juste attirer l'attention sur la priorité donnée à Formulalocal.
    C'est l'enregistreur de macro qui orientent, pour la plupart, nos amis vers FormulaR1C1.
    Et ce, à mon sens, à tort.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/06/2016, 10h56
  2. Réponses: 1
    Dernier message: 02/06/2010, 10h44
  3. Réponses: 10
    Dernier message: 27/11/2008, 16h36
  4. [Vba-Excel] Exécuter une requete SQL sur une feuille de donnée
    Par Spacy_green dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/11/2006, 09h27

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