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 :

Cells fonction ou sub non défini dans code


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
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 168
    Par défaut Cells fonction ou sub non défini dans code
    Bonjour,

    Je cherche à piloter un classeur EXCEL par ACCESS avec le code suivant (formule de comparaison de la ligne du dessus et celle du dessous, c'est plus rapide que par rêquête)
    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
     
     
    Public Function mef(nomfic As String)
    Dim appExcel As Object
    rep = Application.CurrentProject.Path
    Set appExcel = CreateObject("Excel.Application")
    appExcel.Visible = True
     
        With appExcel
        .Workbooks.Open (nomfic)
         .Range("D2").FormulaR1C1 = "=IF(RC[-2]=R[-1]C[-2],R[-1]C[-1],"""")"
        .Range("E2").FormulaR1C1 = "=IF(RC[-3]=R[1]C[-3],R[1]C[-2],"""")"
        .Range("D2:E2").select
        .selection.copy
        .Range(cells(2, 4), cells(10, 4)).select
        .ActiveSheet.Paste
     
       .ActiveWorkbook.Save
        .Workbooks.Close
     
     
        End With
        appExcel.Quit
     
        Set appExcel = Nothing
     
     
    End Function

    En clair je mets une formule dans D2 et E2 et je veux les recopier jusqu'à la fin de mon tableau (ici 10ème ligne), mais je coince avec cells.

    Si j'avais mis Range("D2:E10") ça aurait marché.

    En plus, je ne comprends pas bien le With et comment je devrais faire si j'avais besoin d'une boucle par exemple (.Do While... ?)


    Merci beaucoup pour votre aide.

  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
    13 173
    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 : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il n'y a aucune raison d'effectuer un copier/coller de cellules pour insérer une formule. Range("A2:A100").Formula = "ChaîneFormule" suffit
    A lire ces billets Ecrire une formule dans Excel à l'aide d'une procédure VBA et Ecrire une formule dans Excel à l'aide d'une procédure VBA (Part 2)
    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
    Membre confirmé
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 168
    Par défaut
    Bonjour,

    Merci pour ta réponse.

    10 était un exemple. Je ne connais pas le nombre de ligne

    Mais d'accord pour ne pas copier, ça simplifiera le code. Mais Cells ne fonctionnant pas j'aurais bien voulu utilisé la méthode Range
    Avec par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("E2:E" & Currentregion.rows.count &.formula = maformule


    JPG

  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
    13 173
    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 : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Mais Cells ne fonctionnant pas j'aurais bien voulu utilisé la méthode Range
    Je ne vois pas pourquoi Cells, ne pourrait pas fonctionner imbriquer dans une Range ?
    Cells ou Range c'est pareil et bien entendu que la plage peut être dynamique. Je pense qu'il y a un exemple en ce sens dans le deuxième billet.
    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
    Membre confirmé
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 168
    Par défaut
    Je n'arrive pas à ouvrir le deuxième billet.
    Lorsque j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range(cells(2, 4), cells(10, 4)).select
    j'ai "Sub ou Function non définie" et le mot cells en surbrillance (Débogage, compiler Mabase)

  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
    13 173
    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 : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je n'arrive pas à ouvrir le deuxième billet.
    Le lien du deuxième billet (indiqué à la fin du premier) Ecrire une formule dans Excel à l'aide d'une procédure VBA (Part 2)
    Bien que l'emploi de la méthode Select soit parfaitement inutile, la formule Range(Cells(2, 4), Cells(10, 4)).Select
    fonctionne parfaitement.
    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

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

Discussions similaires

  1. Fonction 'Environ' non définie dans l'expression
    Par lerico dans le forum VBA Access
    Réponses: 8
    Dernier message: 01/03/2016, 17h40
  2. Fonction substring non définie dans l'expression
    Par 810mcu dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/05/2008, 17h05
  3. Fonction non définie dans l'expression
    Par bartbart dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/11/2007, 15h40
  4. [VBA] Fonction non définie dans l'expression
    Par DREADY dans le forum VBA Access
    Réponses: 17
    Dernier message: 08/03/2007, 16h49
  5. Réponses: 2
    Dernier message: 01/06/2006, 14h54

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