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 :

Convertir NB.SI.ENS en macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de Projet Junior
    Inscrit en
    Novembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de Projet Junior
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 13
    Par défaut Convertir NB.SI.ENS en macro
    Bonjour,

    Je vous contacte car je fais face à un problème concernant un NB.SI.ENS contenant 4 critères (dont une date) sur deux classeurs.

    Le NB.SI.ENS ne fonctionne pas lorsque le classeur source est fermé.

    Je souhaiterais donc trouver une solution par macro pour que cela fasse le même effet qu'un NB.SI.ENS classique.

    J'ai beaucoup de difficulté, pourriez-vous m'indiquer la marche à suivre svp ?

    Mes deux fichiers sont en pièces jointes. Le fichier source est AZC 2017 et le fichier destinataire est TestDate.

    Dans le fichier TestDate, se trouvent les formules NB.SI.ENS que j'ai créées.

    Je vous remercie par avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu peux éventuellement, dans ta procédure VBA :

    - figer le rafraichissement d'écran (Application.ScreenUpdating)
    - ouvrir le classeur (Workbooks.Open())
    - et là utiliser au choix
    ==> Application.WorksheetFunction.CountIfs()
    ==> la puissante fonction Evaluate(MaFormuleEnAnglais)
    - refermer le classeur source

  3. #3
    Membre averti
    Homme Profil pro
    Chef de Projet Junior
    Inscrit en
    Novembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de Projet Junior
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 13
    Par défaut
    Bonjour,

    Je vous remercie pour votre réponse. Je vais essayer et vous tiens au courant.

    Je me pose une question : Si je récupère les informations en ouvrant le classeur, est-ce que les cellules afficheront #Valeur lorsque le classeur sera fermé ou bien les valeurs seront collées ?

    Dites moi si je ne suis pas clair.

    Merci d'avance.

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Les deux mon capitaine !

    si tu conserves les formules dans tes cellules (chose qui n'est pas incluse dans mes propositions) ça sera le cas sauf liaison externe à mettre à jour
    si tu utilises la classe Worksheetfunction ou Evaluate (évaluation interne) tu as directement le résultat sans les formules
    si tu utilises les formules excel et qu'ensuite tu écrases les formules par les valeurs, il n'y aura ni #Valeur .... ni mise à jour automatique des résultats de surcroit

    Le beurre et l'argent du beurre n'existe pas chez Excel (comme partout ailleurs bien souvent). C'est le but qui définit la méthode .... et la conception qui définira le modèle

    90% c'est de la réflexion, les 10% restants (la mise en place) viennent ensuite naturellement

  5. #5
    Membre averti
    Homme Profil pro
    Chef de Projet Junior
    Inscrit en
    Novembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de Projet Junior
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 13
    Par défaut
    Je vous remercie,

    Je vais essayer avec le Worksheetfunction !

    A bientôt

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Si tu veux une mise à jour dynamique Sommeprod() fonctionne sur les classeurs fermés
    Et tu peux faire un équivalent de nb.si.ens() avec des tests. C'est ce qu'on utilisait avant l'arrivée de cette fonction.
    eric

Discussions similaires

  1. Fonction NB.SI.ENS dans macro renvoie VRAI
    Par PradBoule dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/09/2012, 03h42
  2. [XL-2007] comment convertir SOMME.SI.ENS() en macro
    Par patricecrabbe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/12/2009, 18h52
  3. [Macros]Convertir macros en VBA
    Par Melhiril dans le forum IHM
    Réponses: 11
    Dernier message: 26/04/2007, 14h13
  4. [Macro][2000]Convertir les macros en Visual Basic
    Par modus57 dans le forum VBA Access
    Réponses: 1
    Dernier message: 20/04/2007, 17h40
  5. [VBA-E] Macro pour convertir un fichier texte en excel
    Par Nicolas67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/05/2006, 14h47

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