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 :

Msgbox pour afficher le résultat d'une addition [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut Msgbox pour afficher le résultat d'une addition
    Bonjour,

    J'ai un fichier avec plusieurs feuilles Excel pour le moment 4 ou 5 mais cela pourrait augmenter autour d'une dizaine de feuilles.
    Sur la première colonne de chaque feuille j'ai créé une formule qui m'alerte sur des tâches que je dois réaliser à partir d'une date donnée dans la deuxième colonne :
    une des formules => A2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(C2="";"";SI(D2<>"";"";SI(C2+21>AUJOURDHUI();"";"travail à effectuer")))
    Maintenant mon problème :
    Je souhaite à l'ouverture du fichier passer par une Msgbox qui m'indiquerait par feuille le nombre de taches à effectuer pour le moment j'ai fait ça :

    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
    Private Sub Workbook_Open()
     
    Dim R As Long
    Dim S As Long
    Dim T As Long
     
    With Application.WorksheetFunction
     R = .CountA(Worksheets("Feuil1").Columns(1))
     S = .CountA(Worksheets("Feuil2").Columns(1))
     T = .CountA(Worksheets("Feuil3").Columns(1))
     
     MsgBox ("il y a " & R & " cellules non vides sur la Feuil1")
     MsgBox ("il y a " & S & " cellules non vides sur la Feuil2")
     MsgBox ("il y a " & T & " cellules non vides sur la Feuil3")
     
    End With
     
    End Sub
    Cette méthode me permet bien de compter les cellules non vides (présence d'une formule) mais ce que je veux c'est qu'elle ne compte que les cellules où il y a un résultat.

    Je précise n'avoir qu'un faible niveau en VBA et que si la solution est trop compliqué je réaliserai une feuille accueil où j'utiliserai des formules NB

    Merci par avance de vos réponses.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim R As Long
    Dim S As Long
    Dim T As Long
    Dim I As Byte
     
    With Application
        For I = 1 To 3
            R = Sheets("Feuil" & I).Rows.Count - .CountBlank(Sheets("Feuil" & I).Columns(1))
            MsgBox ("il y a " & R & " cellules non vides sur la Feuil" & I)
        Next I
    End With

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut
    Merci pour la réponse

    Je n'ai pas encore testé mais j'ai peur que la solution trouvée implique que mes feuilles ne soient pas renommées hors c'est le cas j'avais modifier un peu pour une présentation plus simple mais tous mes onglets portent des noms différents.

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Ca serait tellement simple si tu exposais ton problème dans son entièreté dès le début.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    Dim R As Long
    Dim S As Long
    Dim T As Long
    Dim I As Byte
    Dim Feuilles As Variant
    Feuilles = Array("Feuil1", "Feuil2", "Feuil3") 'change le nom des feuilles
    With Application
        For Each Item In Feuilles
            R = Sheets(Item).Rows.Count - .CountBlank(Sheets(Item).Columns(1))
            MsgBox ("il y a " & R & " cellules non vides sur la " & Item)
        Next Item
    End With
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut
    Désolé première fois que je laisse un post, j'ai essayé de penser à tous mais comme je fais peu de VBA j'ai pas pensé sur le moment que le nom des feuilles pouvait poser un problème.
    Un grand merci pour la solution.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/10/2012, 11h17
  2. Réponses: 29
    Dernier message: 26/04/2011, 09h28
  3. Commande SQL pour afficher les résultats d'une lettre
    Par floctc dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/04/2009, 11h37
  4. Réponses: 11
    Dernier message: 14/10/2008, 10h21
  5. Affiche d'un message pour afficher le résultat d'une commande
    Par celcy dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/01/2007, 19h59

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