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 :

VBA et nouvelles fonctions Excel 365


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 37
    Par défaut VBA et nouvelles fonctions Excel 365
    Bonjour,

    J'ai découvert récemment les nouvelles fonctions Excel365 (Trier, Filtrer, Unique,...)
    Je parle bien des nouvelles fonctions dynamiques (sans doute inspirées par Google Spreadsheet).

    J'aimerai m'en servir dans VBA
    En particulier j'aimerai intégrer à un Array le résultat d'une formule "Trier (Zone, Col, Ordre)"

    Un idée ou une expertise à partager ?

    Merci d'avance et belle journée

    Kili

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    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 974
    Par défaut
    bonjour
    Je sais pas si ça va aider , .. mais une tentative : démarre l'enregistreur automatique du macro, faire l'opération à la main, arrête l'enregistreur et tu aura un code

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 37
    Par défaut
    Merci beaucoup de ta réponse. J'avais testé mais cela ne permet pas de comprendre quel code créer.
    J'ai aussi cherché sur les sites US sans succès pour le moment.
    Je suis pourtant persuadé que Microsoft n'a pas créé une nouvelle formule sans l'intégrer à ses process VBA.

    Je poursuis mes recherches. Si quelqu'un a une idée.

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 233
    Par défaut
    hello,
    tu peux aller jeter un oeil ici . C'est en angliche et tu peux laisser un commentaire pour poser des questions concernant la fonction en VBA.

    Ami calmant, J.P

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Faudrait voir dans certains cas précis, mais d'une façon générale, j'ai l'impression que ces nouvelles fonctions renvoyant des matrices (qui sont "dépliées" dans Excel sous forme de plages dynamiques) peuvent être utilisées pour valoriser des arrays.

    Nom : 2020-11-02_171355.png
Affichages : 285
Taille : 92,6 Ko


    Ca fonctionne avec Evaluate, mais aussi avec les WorksheetFunction: t = Application.Sort(Range("tableau1"))

    Il faut bien noter que ces arrays étant normalement renvoyés dans des plages, ils sont systématiquement à deux dimensions et que l'array démarre à (1,1) (comme lorsque l'on transforme une plage en array).
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 37
    Par défaut
    Merci à Pierre et à "Sinclair".

    @Pierre, et oui tu as raison c'est bien t = Application.Sort(Range("tableau1")) (à adapter bien entendu à votre besoin)
    En d'autres termes: aucun besoin d'utiliser vraiment la formule dans la feuille, il suffit de l'adresser dans le code comme tu l'as présenté.

    Merci beaucoup de votre aide rapide et efficace.

    Et pour ceux qui ne l'ont pas encore fait, intéressez vous à ces nouvelles fonctions excel (Trier, Filtrer, Unique, etc) elles font gagner un temps précieux et limitent les besoins de code.


    Bonne soirée à tous

    Kili

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Tout à fait Kilimanjaro.


    Plus que jamais: Lorsque vous codez en VBA pour Excel, PENSEZ EXCEL AVANT DE PENSER VBA!!


    J'ai écrit deux billets de blog sur ces fonctions:




    Il y a aussi cette récente discussion qui ouvre la porte vers ces fonctions...


    Citation Envoyé par kilimanjaro Voir le message
    [...]

    Et pour ceux qui ne l'ont pas encore fait, intéressez vous à ces nouvelles fonction excel (Trier, Filtrer, Unique, etc) elles font gagner un temps précieux et limitent les besoins de code.[...]
    Je suis tout à fait d'accord avec toi. Par exemple, elles permettraient, pour une utilisation exclusive 365, de se passer du dictionary pour créer un tableau trié sans doublons, grâce à EVALUATE. J'ai rédigé un billet qui explique la simplicité de la démarche et je livre ici un avant-goût avec le chargement de la liste triée et sans doublons dans le combobox d'un userform...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
      With UserForm1
        .cboCustomers.List = Evaluate("SORT(UNIQUE(t_Factures[Client]))")
        .Show
      End With
    End Sub
    Donc oui, il y a de belles choses à faire avec ces nouvelles fonctions, avec Excel comme avec VBA
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. Création d'une nouvelle fonction Excel (VBA)
    Par alinehg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/05/2008, 20h20
  2. vba[Excel2002]nouvelle feuille excel
    Par stargates dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/12/2007, 13h27
  3. [VBA]Utiliser les fonctions Excel avec Access
    Par PsykotropyK dans le forum VBA Access
    Réponses: 8
    Dernier message: 18/04/2007, 13h58
  4. [VBA-E] Une fonction Excel dans une fonction VBA
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/07/2006, 10h21
  5. [VBA][Débutante] Fonction Excel avec Boucle
    Par Inelukia dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 11/01/2006, 19h31

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