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 :

Macro VBA Automatisation


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Actuaire
    Inscrit en
    Janvier 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Actuaire

    Informations forums :
    Inscription : Janvier 2020
    Messages : 6
    Par défaut Macro VBA Automatisation
    Bonjour Mme,Mr,

    Je vous écris aujourd'hui car je suis confronté à un problème, dans excel nous avons la formule Somme.si mais celle ci ne fonctionne pas si on fais appel à des données dans un autre fichier excel,
    il faut l'ouvrir pour que excel ne nous affiche pas #Valeur.

    Pour éviter ce problème je voudrais faire une macro qui fais la somme de ce code excel :

    =+SOMME.SI('C:\Users\Chari\Desktop\Données Booklet 2\2019\1A100G GROUPE XXX\[450527916_122018_CrcKO_20190614_arg_ErreurDonneesInstance.xlsx]s.35.01.04'!$C$13:$C$37;"1 - Method 1";'C:\Users\Chari\Desktop\Données Booklet 2\2019\1A100G GROUPE XXX\[450527916_122018_CrcKO_20190614_arg_ErreurDonneesInstance.xlsx]s.35.01.04'!$F$13:$F$37)

    Et que une fois le calcul fais il me mette le résultat dans ma cellule précise dans la feuille précise...

    En effet si on fais une macro, excel garde les données en brutes donc si je fais mettre a jour les liens ça me les réinitialise pas en #valeur...
    Mais je galère à mort !
    Depuis hier je suis bloqué sur cette broutille .

    Je vous remercie.

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Bonjour,

    Tu peux utiliser la méthode .FormulaR1C1 à appliquer après l'objet Range - Il faudra écrire la formule en anglais.
    Pour l'écrire dans la langue de ton Excel, il faudra utiliser la méthode .FormulaLocal - peut présenter un problème si ce classeur est utilisé par des personnes ayant une version Excel dans une autre langue.

    Bien évidemment, à utiliser après l'ouverture du classeur dont tu prends les données

  3. #3
    Membre à l'essai
    Femme Profil pro
    Actuaire
    Inscrit en
    Janvier 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Actuaire

    Informations forums :
    Inscription : Janvier 2020
    Messages : 6
    Par défaut
    Bonjour Rever,

    Merci pour ta réponse mais je suis débutant complet en VBA....
    Je dois faire ce truc pour rendre mon travail ce soir mais je me rend compte que je sais pas faire du tout :/

  4. #4
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    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
    Private Sub Test()
    Dim Pathname as String
    Dim Name as String
     
    Pathname = "Chemin1...\"
    Name = Nom_Classeur
     
    Workbooks.Open(Pathname & Name & ".xlsx")
     
    Set WbT = Workbooks(Name)
    Set Wb = ThisWorkbook
    'ThisWorkbook définit le classeur où le code est écrit
     
    Wb.Sheets(1).Range("A1").FormulaLocal = "=SOMME.SI(WbT.Range("$C$13:$C$37");"1 - Method1";WbT.Range("$F$13:$F$37"))"
    End Sub
    Je ne garantis pas la réussite du code, je n'ai pas testé. Je ne sais surtout pas non plus à quoi correspond ce "1 - Method1". N'hésite pas à utiliser le mode pas à pas pour vérifier, si Débogage, les valeurs prises par chacune des variables.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Actuaire
    Inscrit en
    Janvier 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Actuaire

    Informations forums :
    Inscription : Janvier 2020
    Messages : 6
    Par défaut
    Merci beaucoup je teste tout de suite, le "1 - Formula 1" c'est le critère qu'il y a dans la case... un truc de calcul d'actuaires... mais que je prend comme condition ici faut que dans la case C.. il y ait ca pour que il fasse l'addition

  6. #6
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Je pense que tu as tous les outils en main pour le coup.

    Tu as juste à faire attention que tes fichiers s'ouvrent bien. Commence déjà juste avec l'ouverture du classeur sans écrire le .FormulaLocal. Mieux vaut limiter la portée des erreurs tant qu'on peut. Il est plus facile de corriger quelque chose sur 2 lignes que si on écrit 60 lignes en brut ... Bon y'en a pas 60 mais tu as compris l'idée ^^

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

Discussions similaires

  1. Macro VBA word pour automatiser un rapport
    Par zouizoui dans le forum VBA Word
    Réponses: 7
    Dernier message: 30/10/2014, 22h07
  2. [WD-2007] Automatiser le remplissage de signets WORD par Macro VBA
    Par benkornskater dans le forum VBA Word
    Réponses: 2
    Dernier message: 13/05/2013, 12h03
  3. Automatisation d'un fichier macros VBA
    Par Baptiste67 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/11/2012, 18h39
  4. Automatisation d'une macro VBA Access
    Par fbourdon dans le forum IHM
    Réponses: 1
    Dernier message: 26/11/2009, 17h40
  5. Macro VBA : automatiser la réponse à une question.
    Par monf29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/06/2007, 11h18

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