Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro tableau croisé dynamique

  • Initiateur de la discussion Initiateur de la discussion robbie31140
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

robbie31140

Guest
Bonjour,

J'ai un calcul à réaliser, basé sur deux extraction d'un logiciel de gestion de stock.

Premier calcul : Onglet 1
Grace à l'extraction réaliser, faire un tableau croisé dynamique sur l'ensemble de la page et intégré la colonne article coté gauche et dans "déposer données ici".
Ce qui me donne le nombre d'article sans doublon.

Second calcul : Onglet 2
Grace à l'extraction réaliser, faire un tableau croisé dynamique sur l'ensemble de la page et intégré la colonne article coté gauche et dans "déposer données ici".
Ce qui me donne le nombre d'article sans doublon.

Les deux calcul ne sont pas des doublon : Le premier me donne le nombre de reference inventorié
Le second me donne le nombre d'ecart.

Ce qui devra aboutire a un calcul : 1er calcul - 2eme calcul.
Exemple : 5 ecarts d'inventaires Sur 300 inventaire réalisé : Sa doit me donner un pourcentage de fiabilitée.

Si l'ensemble pouvait se retrouver en un seul bouton avec le resultat a coté se serait TOP.

Merci d'avance,
 

Pièces jointes

Re : Macro tableau croisé dynamique

Bonjour robbie31140,

voici un essai en macro :
VB:
Public Sub CalculTaux()
Dim nbArticlesOnglet1 As Long, nbArticlesOnglet2 As Long, iL As Long, taux As Double

    '# calculer le nombre d'article sur l'onglet 1
    With ThisWorkbook.Sheets("Onglet 1")
        'boucler sur toutes les lignes (de 6 à la dernière saisie)
        For iL = 6 To .Range("D" & .Rows.Count).End(xlUp).Row
            'si c'est la permière occurence de l'article
            If WorksheetFunction.CountIf(.Range("D6:D" & iL), .Range("D" & iL)) = 1 Then
                'incrémenter le compteur
                nbArticlesOnglet1 = nbArticlesOnglet1 + 1
            End If
        Next iL
    End With
    
    '# calculer le nombre d'article sur l'onglet 2
    With ThisWorkbook.Sheets("Onglet 2")
        'boucler sur toutes les lignes (de 6 à la dernière saisie)
        For iL = 6 To .Range("B" & .Rows.Count).End(xlUp).Row
            'si c'est la permière occurence de l'article
            If WorksheetFunction.CountIf(.Range("B6:B" & iL), .Range("B" & iL)) = 1 Then
                'incrémenter le compteur
                nbArticlesOnglet2 = nbArticlesOnglet2 + 1
            End If
        Next iL
    End With
    
    '# calculer le taux
    taux = nbArticlesOnglet2 / nbArticlesOnglet1
    
    '# afficher le résultat
    MsgBox "Le taux est de : " & Round(taux * 100, 2) & "%."
End Sub
a+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

F
  • Question Question
Réponses
5
Affichages
829
Filippe69
F
E
Réponses
3
Affichages
999
E
V
Réponses
9
Affichages
9 K
V
F
Réponses
21
Affichages
6 K
M
Réponses
14
Affichages
2 K
MClaude
M
J
  • Question Question
Réponses
5
Affichages
1 K
Jessie39
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…