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 :

Somme d'une chaine dans un Msgbox [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut Somme d'une chaine dans un Msgbox
    Bonjour,

    Je désirerai faire la somme de 2 cellules sauf si elle sont égales à zéro toutes les deux et indiquez cette somme dans une Msgbox.
    Mon souci est avec la variable "bL"
    Voici mon code :

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    ' Message d'alerte
     
    Dim bA As Boolean, bB As Boolean
    Dim bC As Boolean, bD As Boolean
    Dim bE As Boolean, bF As Boolean
    Dim bG As Boolean, bH As Boolean
    Dim bI As Boolean, bJ As Boolean
    Dim bK As Boolean, bL As Boolean
    Dim bM As Boolean, bN As Boolean
     
        bA = False: bB = False: bC = False: bD = False: bE = False: bF = False: bG = False: bH = False: bI = False: bJ = True: bK = False: bL = False: bM = False: bN = False
     
     
     
        If Sheets("Accueil").Range("D26").Value > 0 Then bA = True
        If Sheets("Accueil").Range("E26").Value > 0 Then bB = True
        If Sheets("Accueil").Range("D27").Value > 0 Then bC = True
        If Sheets("Accueil").Range("E27").Value > 0 Then bD = True
        If Sheets("Accueil").Range("D28").Value > 0 Then bE = True
        If Sheets("Accueil").Range("E28").Value > 0 Then bF = True
        If Sheets("Accueil").Range("G32").Value > 0 Then bG = True
        If Sheets("Accueil").Range("H39").Value > 0 Then bH = True
        If Sheets("Accueil").Range("J22").Value > 0 Then bI = True
        If Sheets("Accueil").Range("J7").Value <= 0.8 And Sheets("Accueil").Range("J7").Value >= 0 Then bJ = True
        If Sheets("Accueil").Range("R16").Value > 0 Then bK = True
        If Sheets("Accueil").Range("R19").Value > 0 And Sheets("Accueil").Range("R20").Value > 0 Then bL = True
        If Sheets("Accueil").Range("R22").Value > 0 Then bM = True
     
     Dim sStr As String
        sStr = ""
        If bA Then sStr = sStr & Sheets("Accueil").Range("D26") & " fiche(s) en retard d'analyse - Niveau 1 ;" & vbCrLf & vbCrLf
        If bB Then sStr = sStr & Sheets("Accueil").Range("E26") & " fiche(s) en retard de traitement - Niveau 1 ;" & vbCrLf & vbCrLf
        If bC Then sStr = sStr & Sheets("Accueil").Range("D27") & " fiche(s) en retard d'analyse - Niveau 2 ;" & vbCrLf & vbCrLf
        If bD Then sStr = sStr & Sheets("Accueil").Range("E27") & " fiche(s) en retard de traitement - Niveau 2 ;" & vbCrLf & vbCrLf
        If bE Then sStr = sStr & Sheets("Accueil").Range("D28") & " fiche(s) en retard d'analyse - Niveau 3 ;" & vbCrLf & vbCrLf
        If bF Then sStr = sStr & Sheets("Accueil").Range("E28") & " fiche(s) en retard de traitement - Niveau 3 ;" & vbCrLf & vbCrLf
        If bG Then sStr = sStr & Sheets("Accueil").Range("D38") & " audit(s) en retard ;" & vbCrLf & vbCrLf
        If bH Then sStr = sStr & Sheets("Accueil").Range("H39") & " actions du plan d'amélioration des processus sont en retard ;" & vbCrLf & vbCrLf
        If bI Then sStr = sStr & Sheets("Accueil").Range("J22") & " documents du référentiel ne sont pas à jour sur un total de " & Sheets("Accueil").Range("N23") & " ;" & vbCrLf & vbCrLf
        If bJ Then sStr = sStr & Format(Sheets("Accueil").Range("J7") * 100, "0.00") & " %" & " du référentiel documentaire est à jour ;" & vbCrLf
        If bK Then sStr = sStr & Sheets("Accueil").Range("R16") & " document(s) reçu(s) doi(ven)t être vérifié(s) ;" & vbCrLf & vbCrLf
        If bL Then sStr = sStr & Sheets("Accueil").Range("R19") & sStr & Sheets("Accueil").Range("R20") & " document(s) doi(ven)t être validé(s) ;" & vbCrLf & vbCrLf
        If bM Then sStr = sStr & Sheets("Accueil").Range("R22") & " document(s) approuvé(s) doi(ven)t être mis en ligne ;" & vbCrLf & vbCrLf
     
        If Len(sStr) > 0 Then MsgBox sStr, vbOKOnly + vbExclamation, "Attention - Message d'alerte :"
     
    End Sub
    Cordialement

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour..
    c'est quoi le soucis ?
    pourquoi sStr apparaît-elle 2 fois dans ta ligne bL?

  3. #3
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Je veux faire la somme des cellules R19 et R20

  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 171
    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 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Mon souci est avec la variable "bL"
    Mis à part qu'il y a sans doute une concaténation de trop (& sStr), quel est le problème avec cette ligne . Un message d'erreur, un résultat erroné, etc.
    As-tu utilisé la touche F8 pour exécuter la procédure pas à pas, c'est la meilleure manière de déboguer ce genre de problème ?
    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
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par graphikris Voir le message
    Je veux faire la somme des cellules R19 et R20
    Bonjour, bonjour !

    Application.Sum(Range("Accueil!R19:R20"))

    Ou encore [SUM(Accueil!R19:R20)] (cf aide VBA de la puissante fonction Evaluate) …

    ______________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    ______________________________________________________________________________________________________
    Je suis Paris, …

  6. #6
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Merci à vous

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

Discussions similaires

  1. [Tableaux] Recherche d'une chaine dans un tableau
    Par tom06440 dans le forum Langage
    Réponses: 5
    Dernier message: 20/10/2005, 23h27
  2. Réponses: 2
    Dernier message: 19/10/2005, 15h38
  3. Comment surligner une chaine dans un RichEdit
    Par esteban63 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/09/2005, 00h33
  4. [JSP] mettre une chaine dans un format precis
    Par logica dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/06/2005, 10h21
  5. Réponses: 2
    Dernier message: 10/07/2002, 11h51

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