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 :

Calcul sur plusieurs feuilles [VBA]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de pite0611
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 62
    Par défaut Calcul sur plusieurs feuilles [VBA]
    Bonjour,

    j'ai un programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     Private Sub CommandButton2_Click()
     
        Set lastcel = Sheets("Produit Filaire").UsedRange.Cells(Sheets("Produit Filaire").UsedRange.Cells.Count)
        Set plage = Sheets("Produit Filaire").Range("A1:" & lastcel.Address)
     
        For i = 1 To lastcel.Row
            If Application.CountA(Sheets("Produit Filaire").Cells(i, 1).Resize(1, Sheets("Produit Filaire").UsedRange.Columns.Count)) = 0 Then a = a + 1
        Next
     
        Sheets("Feuil2").Range("E15").Value = plage.Rows.Count - a
     
    End Sub
    Qui me permet de calculer les lignes renseignées de la feuille 1 tout en affichant le résultat en feuille 2.

    Cependant je souhaiterai pouvoir additionner les résultats des feuilles. Si en feuille 1 il me donne 10 lignes renseignées comme résultats et en feuille 3 il me donne 2 lignes renseignées je souhaiterai qu'il m'affiche en feuille 2 le résultat, sois 12 lignes renseignées au total dans la colonne E15 que j'ai choisi et déjà mis dans ce code.

    Pensez-vous pouvoir m'aider svp ?

    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Il te suffit de recommencer ta macro sur une autre feuille et d'additionner le résultat

    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
     Private Sub CommandButton2_Click()
     
        Set lastcel = Sheets("Produit Filaire").UsedRange.Cells(Sheets("Produit Filaire").UsedRange.Cells.Count)
        Set plage = Sheets("Produit Filaire").Range("A1:" & lastcel.Address)
     
        For i = 1 To lastcel.Row
            If Application.CountA(Sheets("Produit Filaire").Cells(i, 1).Resize(1, Sheets("Produit Filaire").UsedRange.Columns.Count)) = 0 Then a = a + 1
        Next
     
        Sheets("Feuil2").Range("E15").Value = plage.Rows.Count - a
     
        Set lastcel = Sheets("autres feuille").UsedRange.Cells(Sheets("Produit Filaire").UsedRange.Cells.Count)
        Set plage = Sheets("autres feuille").Range("A1:" & lastcel.Address)
     
        For i = 1 To lastcel.Row
            If Application.CountA(Sheets("Produit Filaire").Cells(i, 1).Resize(1, Sheets("Produit Filaire").UsedRange.Columns.Count)) = 0 Then a = a + 1
        Next
     
        Sheets("Feuil2").Range("E15").Value =Sheets("Feuil2").Range("E15").Value + plage.Rows.Count - a
    End Sub

  3. #3
    Membre confirmé Avatar de pite0611
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 62
    Par défaut
    C'est bizarre, il m'affiche un resultat negatif et en plus faux, il m'affiche -44 alors qu'il devrait m'afficher 22 je ne comprend pas pourquoi

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    J'ai recopier ton code sans trop le lire, il faut réinitialiser ton compteur a au changement de feuille, et changer tous les nom de feuilles car j'en ai oublié plusieurs.

  5. #5
    Membre confirmé Avatar de pite0611
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 62
    Par défaut
    C'est bien ce que j'ai fais :
    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
      Private Sub CommandButton2_Click()
     
        Set lastcel = Sheets("Produit Filaire").UsedRange.Cells(Sheets("Produit Filaire").UsedRange.Cells.Count)
        Set plage = Sheets("Produit Filaire").Range("A1:" & lastcel.Address)
     
        For i = 1 To lastcel.Row
            If Application.CountA(Sheets("Produit Filaire").Cells(i, 1).Resize(1, Sheets("Produit Filaire").UsedRange.Columns.Count)) = 0 Then a = a + 1
        Next
     
        Sheets("Feuil2").Range("E15").Value = plage.Rows.Count - a
     
        Set lastcel = Sheets("Contrôle carte électronique").UsedRange.Cells(Sheets("Contrôle carte électronique").UsedRange.Cells.Count)
        Set plage = Sheets("Contrôle carte électronique").Range("A1:" & lastcel.Address)
     
        For i = 1 To lastcel.Row
            If Application.CountA(Sheets("Contrôle carte électronique").Cells(i, 1).Resize(1, Sheets("Contrôle carte électronique").UsedRange.Columns.Count)) = 0 Then a = a + 1
        Next
     
        Sheets("Feuil2").Range("E15").Value = Sheets("Feuil2").Range("E15").Value + plage.Rows.Count - a
     
    End Sub

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Pourquoi passer par du VBA, des formules ne seraient suffisantes?

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  7. #7
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Citation Envoyé par pite0611 Voir le message
    C'est bien ce que j'ai fais :
    Non, tu as bien changé les noms de feuilles mais pas réinitialisé ton compteur.

Discussions similaires

  1. Calcule sur plusieurs feuilles
    Par abdelkarim_1987 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/08/2013, 10h18
  2. étendre un calcul sur plusieurs feuille
    Par braquin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/10/2009, 15h48
  3. Calcul sur des cellules sur plusieurs feuilles
    Par vlksoft dans le forum Excel
    Réponses: 2
    Dernier message: 12/03/2009, 08h08
  4. [VBA-E] Données identiques sur plusieurs feuilles
    Par pm2036 dans le forum Macros et VBA Excel
    Réponses: 42
    Dernier message: 09/05/2007, 15h05
  5. excel VBA comment recopier sur plusieurs feuilles
    Par floflo2006 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2005, 15h56

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