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 Formule avec VBA


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
    Ingénieur Supply Chain
    Inscrit en
    Février 2018
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Supply Chain
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 49
    Par défaut Problème Formule avec VBA
    Bonjour les amis,

    J'ai réalisé la formule SOMME.SI.ENS sur excel qui a marché correctement, sauf qu'après je voulais passer par VBA pour faire le calcul.
    Donc j'ai essayé de reformuler ma formule pour qu'elle puisse marcher sur VBA mais sa bug.
    Voica ma formule sur Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME.SI.ENS(Feuil1!$K:$K;Feuil1!$B:$B;Feuil4!$A$1;Feuil1!$C:$C;Feuil4!$A$2;Feuil1!$I:$I;"<>TTM RUNGIS";Feuil1!$I:$I;"<>*POMONA*";Feuil1!$F:$F;"=1";Feuil1!$K:$K;">0")+SOMME.SI.ENS(Feuil1!$K:$K;Feuil1!$B:$B;Feuil4!$A$1;Feuil1!$C:$C;Feuil4!$A$3;Feuil1!$I:$I;"<>TTM RUNGIS";Feuil1!$I:$I;"<>*POMONA*";Feuil1!$E:$E*";Feuil1!$F:$F;"=1";Feuil1!$K:$K;">0")
    La partie que j'ai mis en rouge c'est le numéro de la semaine, qui sera saisi par l'utilisateur ==> NumSemaine sur mon code VBA

    Et voici ma formule sur VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("B6").Value = Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("k:k"), Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A2"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>*POMONA*"), Worksheets("SAGE").Range("F:F"), "NumSemaine", Worksheets("SAGE").Range("K:K"), ">0") + Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("k:k"), Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A3"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>*POMONA*"), Worksheets("SAGE").Range("F:F"), "NumSemaine", Worksheets("SAGE").Range("K:K"), ">0")
    Merci d'avance.

  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,

    ça bug, c'est vague ?

    Message d'erreur ou résultat faux ?

    Sommes-nous d'accord que ta variable n'est pas entre guillemets comme tu l'as ici écrits ? Car sinon c'est une chaine de caractère et pas le contenu de ladite variable

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur Supply Chain
    Inscrit en
    Février 2018
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Supply Chain
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 49
    Par défaut
    Bonjour,

    En gros, voila ce que je veux réaliser.
    Appuyer sur le bouton 1, une fenêtre s'affiche et demande le numéro de la semaine souhaité, puis il crée une copie de la feuil référence avec un nom S + numéro de la semaine choisie.
    cela j'arrive à le réaliser.

    Appuyer sur le bouton 2, pour effectuer des calculs, et sur cette partie que mon programme bug.

    Mon macro je l'ai mit dans un module, et elle se présentera comme suit :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Sub Bouton_NewSheet()
    'Déclaration variable NumSeamine
    Dim NumSemaine As String
     
    'Affichage d'une InputBox
    NumSemaine = InputBox("Veuillez entrer un numéro de semaine", "Insertion d'une feuille vierge")
    'La variable reçoit la valeur entrée dans l'InputBox
     
    If NumSemaine <> "" Then
    'Si la valeur est différente de "" on affiche le résultat
        Sheets("REF").Visible = True
        Sheets("REF").Copy After:=Sheets(Worksheets.Count)
        ActiveSheet.Name = "S" & NumSemaine
        ActiveSheet.Range("B1").Value = ActiveSheet.Name
        Sheets("REF").Visible = True
        MsgBox "L'analyse de la facturation a été pour la semaine " & NumSemaine
    End If
    End Sub
     
    Sub Bouton_Calculer()
     
    'Nbr De Colis SAGE
    Range("B6").Value = Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("K:K"), Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A2"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("I:I"), "<>*POMONA*", Worksheets("SAGE").Range("F:F"), NumSemaine, Worksheets("SAGE").Range("K:K"), (">0"))
     
    'Nbr De Livraison SAGE
    Range("D6").Value = Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A2"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("F:F"), NumSemaine, Worksheets("SAGE").Range("K:K"), ">0") + Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A3"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("F:F"), NumSemaine, Worksheets("SAGE").Range("K:K"), ">0")
     
    'Nbr De Livraison -20 Colis SAGE
    Range("F6").Value = Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A2"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("F:F"), NumSemaine, Worksheets("SAGE").Range("K:K"), "<=20", Worksheets("SAGE").Range("K:K"), ">0") + Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A3"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("F:F"), NumSemaine, Worksheets("SAGE").Range("K:K"), "<=20", Worksheets("SAGE").Range("K:K"), ">0")
     
    'Nbr Retour Client SAGE
    Range("B11").Value = Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("F:F"), NumSemaine, Worksheets("SAGE").Range("K:K"), "<=0")
     
    'Nbr Livraison POMONA SAGE
    Range("B12").Value = Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("F:F"), NumSemaine, Worksheets("SAGE").Range("I:I"), "*POMONA*")
     
    End Sub

  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
    Citation Envoyé par joe.levrai Voir le message
    ça bug, c'est vague ?

    Message d'erreur (quel message) ou résultat faux (quel résultat obtenu pour quel résultat attendu) ?

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur Supply Chain
    Inscrit en
    Février 2018
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Supply Chain
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 49
    Par défaut
    Désolé de ne pas avoir répondre à cette question.

    Je reçoit le message suivant : "Erreur d'exécution '1004'"

  6. #6
    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
    ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("TERMES").Range("<>A4")
    ne veut rien dire. Il y en a d'autres comme ça

    Que voulais-tu écrire exactement ?

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur Supply Chain
    Inscrit en
    Février 2018
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Supply Chain
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 49
    Par défaut
    Sur la feuille TERMES et dans la cellule A4 j'ai un mot qui est enregistré.

    Donc le calcul qui sera réalisé sur la colonne ne doit pas prendre en considération la valeur de A4. Donc faire la somme de toute la colonne sauf les cellules qui ont une valeur égal à celle de A4.

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

Discussions similaires

  1. [XL-2013] Problème formule avec CONCATENER
    Par Didier33 dans le forum Excel
    Réponses: 3
    Dernier message: 14/09/2015, 22h31
  2. [xl2013] Problème ROWSOURCE avec VBA
    Par remi abou aymen dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/08/2015, 18h05
  3. [XL-2003] problème réseau avec vba
    Par vsobo dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 09/01/2010, 15h56
  4. [XL-2003] Copie d'une formule avec VBA
    Par akane dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/09/2009, 19h32
  5. Copier une formule avec vba
    Par NAMORJOSE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/05/2006, 00h12

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