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 :

Copier Formule jusqu'à dernière ligne


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
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Par défaut Copier Formule jusqu'à dernière ligne
    Bonjour à tous,

    J'ai un fichier Excel et plus précisément une colonne G où j'applique la formule simple =NBCAR(A2).

    Dans ma macro, je ne sais pas comment faire pour que cette formuile soit exécutée automatiquement sur toutes les lignes de la colonne G (ligne susceptible de varier)
    Genre copier formule vers le bas jusqu'à la dernière ligne renseignée.

    Pouvez-vous SVP m'aider à ce sujet ?

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Par défaut
    J'ai essayé ça en faisant une recherche sur le forum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Range("G1").Select
        ActiveCell.FormulaR1C1 = "NBCAR Name"
        Selection.AutoFill Destination:=Range("G1:IU1"), Type:=xlFillDefault
        Range("G1").Select
    Marche pas... ca s'arrête à la ligne 12 ??!

  3. #3
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    Bonjour,

    Tu as la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.AutoFill Destination:=Range(tonRange)
    Il faut que tu determine la dernière cellule dans ton Range.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Par défaut
    Merci pour ta réponse, mais là est bien le problème : c'est que je ne peux pas déterminer la dernière cellule car celle-ci varie.

    Ce qu'il faudrait c'est un code qui permette d'appliquer la formule jusqu'à la dernière ligne renseignée.

  5. #5
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    La dernière ligne de quelle colonne ?

    Tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    derniere_ligne = Range("A65536").End(xlUp).Row
    et tu auras ta dernière ligne utilisée de la colonne A:A

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Par défaut
    C'est la dernière ligne de la colonne G.
    J'ai donc modifié mon code comme suit avec les infos que tu m'as donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Range("G1").Select
        ActiveCell.FormulaR1C1 = "NBCAR Name"
        Selection.AutoFill Destination:=Range("G65536").End(xlUp).Row
        Range("G1").Select
    J'obtiens le message d'erreur :

    La méthode AutoFill de la classe Range a échoué

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Par défaut
    une variante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    derli = Columns(1).Find("*", , , , , xlPrevious).Row

    puis donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.AutoFill Destination:=Range(cells(1,1),cells(derli,1)) 'ici pour la colonne A
    Dans ton cas c'est la colonne G donc: (à condition que la derniere ligne non vide de la colonne 1 correspond au numéro de ligne jusqu'auquel tu veux copier ta formule)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim derli as integer
    derli = Columns(1).Find("*", , , , , xlPrevious).Row
    Selection.AutoFill Destination:=Range(cells(1,7),cells(derli,7))

Discussions similaires

  1. Copier Coller deux dernières lignes dont liste déroulante
    Par nicodvn dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/09/2014, 00h17
  2. [XL-2007] Macro comment copier une formule jusqu'à la derniere ligne d'une col
    Par zaza45 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/01/2012, 15h44
  3. [XL-2003] code copier formule jusqu'à la dernière ligne
    Par ridokou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2011, 15h56
  4. Réponses: 1
    Dernier message: 30/12/2010, 10h31
  5. Etendre ma formule jusqu'à la xième ligne
    Par benoitbs dans le forum Excel
    Réponses: 4
    Dernier message: 30/01/2008, 16h57

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