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 :

Problème écriture formule FormulaR1C1 = [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2018
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2018
    Messages : 284
    Par défaut Problème écriture formule FormulaR1C1 =
    Bonjour à toutes et tous,

    Je cherche à écrire une formule dans une cellule.
    Ce code fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DerCell = Cells(Rows.Count, "E").End(xlUp).Row
    Cells(DerCell, "E").FormulaR1C1 = "=Today()"
    Mais celui-ci ne fonctionne pas. Message Erreur d'exécution 1004
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DerCell = Cells(Rows.Count, "H").End(xlUp).Row 'Cherche la dernière cellule remplie de la colonne Nature
    'Décale de 1 en dessous => Cells(DerCell + 1 et ecrit la formule => FormulaR1C1
    Cells(DerCell + 1, "H").FormulaR1C1 = "=RECHERCHEV(F25;Tab_Ch_Rev_Var[[#Tout];[Opérations]:[Mode_Rgt]];3;FAUX)"
    La formule =RECHERCHEV(F25;Tab_Ch_Rev_Var[[#Tout];[Opérations]:[Mode_Rgt]];3;FAUX) fonctionne quand je la met directement dans une cellule.
    Pour l'instant la cellule recherchée F25 est en dur mais je la mettrai en automatique.

    La colonne [Opérations] doit être renseignée grâce à une liste déroulante présente dans un formulaire.
    J'ai interpelé le forum à ce propos https://www.developpez.net/forums/d2...ulante-autres/

    Ma demande dans ce post vient du fait que je n'arrive pas à le faire dans le formulaire, c'est à dire lancer une recherche en fonction de l'élément sélectionné dans la liste déroulante.

    Merci pour votre aide.

    Philippe

  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 186
    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 186
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Les fonctions utilisées dans la chaîne de caractères à passer à FormulaR1C1 doivent être en anglais.
    Pour ne pas vous tromper, il suffit d'écrire la formule dans une cellule quelconque (par exemple N7) et d'ensuite utiliser la ligne de code ci-dessous dans la fenêtre d'exécution de l'éditeur VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ? range("N7").Formula2R1C1
    La formule en cellule N7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEX(M7;Tableau_Q_Train_Driver_2_Excel[N° Licence];Tableau_Q_Train_Driver_2_Excel[Nom];"Pas trouvé")
    Le résultat renvoyé dans la fenêtre d'exécution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =XLOOKUP(RC[-1],Tableau_Q_Train_Driver_2_Excel[N° Licence],Tableau_Q_Train_Driver_2_Excel[Nom],"Pas trouvé")
    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 éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2018
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2018
    Messages : 284
    Par défaut
    Bonjour Philippe Tulliez,

    Merci pour votre réponse.
    J'ai copié / collé le premier code que vous m'avez donné.

    Le ? s'est transformé en Print
    Donc le code que j'ai est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Print range("H1").Formula2R1C1
    En H1 j'ai mis ma formule =RECHERCHEV(F25;Tab_Ch_Rev_Var[[#Tout];[Opérations]:[Mode_Rgt]];3;FAUX)

    Cela ne fonctionne pas. => Message : Erreur d'exécution 438 Propriété ou méthode non gérée
    Et effectivement Print n'est pas répertorié dans les propriétés/méthodes. Il n'y a que PrintForm.

    Pouvez vous m'expliquer ce qu'il se passe.
    Merci
    Philippe

  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 186
    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 186
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le ? s'est transformé en Print
    Donc le code que j'ai est le suivant :
    J'ai bien indiqué d'écrire la ligne de code dans la fenêtre d'exécution et pas dans une procédure.
    Pour afficher cette fenêtre d'exécution, vous pouvez utiliser le raccourci clavier Ctrl + G ou sélectionner cette fenêtre dans le menu [Affichage]
    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 éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2018
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2018
    Messages : 284
    Par défaut
    Bonjour Philippe Tulliez,

    Merci pour votre réponse.

    Je viens de comprendre que c'est un traducteur de formule que vous me proposiez.
    Je ne connaissait pas cette fonctionnalité.

    Bonne fin de journée

    Philippe

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

Discussions similaires

  1. Problème d'utilisation de la formule : formulaR1C1 en VBA
    Par shakapouet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/11/2014, 17h24
  2. Problème écriture d'une formule
    Par mathilde13870 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/03/2014, 16h11
  3. problème de formulation d'une requête
    Par seiryujay dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/08/2004, 18h13
  4. Problème de formulation de requète
    Par tellitocci dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/06/2004, 06h05
  5. [EXCEL-OLE] Problème de formule
    Par qi130 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 13/10/2003, 19h49

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