[Macro VBA]-Totaux et rang (avec condition) automatiques

pepsas

XLDnaute Nouveau
Bonjour le Forum

sur la feuille jointe, j'aurais besoin d'aide pour créer une macro permettant

1- le total (en colonne S) à chaque entrée de nombre dans les colonnes n-o-p-q-r .
2- le classement selon la condition catégorie (colonne D) en fin de tableau


Un colistier aurait-il une idée?

merci
pepsas
 

Pièces jointes

  • totaux et rang.xlsx
    19.1 KB · Affichages: 41

Paf

XLDnaute Barbatruc
Re : [Macro VBA]-Totaux et rang (avec condition) automatiques

Bonjour

Pas besoin de macro

1- le total (en colonne S) à chaque entrée de nombre dans les colonnes n-o-p-q-r .

en cellule S3 mettre la formule: =SOMME(N3:R3) puis 'tirer' la formule jusqu'au bas du tableau.

2- le classement selon la condition catégorie (colonne D) en fin de tableau

en cellule T3 mettre la formule =SI($D3=T$2;SOMMEPROD(($D$3:$D$62=T$2)*($S$3:$S$62<$S3))+1;"") puis 'tirer' la formule jusqu'en colonne AC, puis 'tirer' l'ensemble jusqu'au bas du tableau.

Si vous tenez absolument à une macro, peut-être un forumeur (forumiste ?) vous aiguillera ?

A+
 

pierrejean

XLDnaute Barbatruc
Re : [Macro VBA]-Totaux et rang (avec condition) automatiques

Bonjour pepsas

Salut Paf

A tester:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 13 And Target.Column < 19 Then
 For n = 3 To Range("N" & Rows.Count).End(xlUp).Row
 Range("S" & n) = 0
  For m = 14 To 18
    If Cells(n, m) = "" Then
      ajout = 0
    Else
      ajout = Cells(n, m).Value
    End If
    If IsNumeric(ajout) Then Range("S" & n) = Range("S" & n) + ajout
  Next
  ajout = 0
 Next
End If
End Sub
 

pepsas

XLDnaute Nouveau
Re : [Macro VBA]-Totaux et rang (avec condition) automatiques

Bonjour Forum, Pierrejean

La macro fonctionne très bien, les totaux et les rangs sont réalisés.
Est ce normal que sur mon ordi c'est assez long (je vous mets le fichier en pj) dès que l'on place une cinquantaine de lignes.
au niveau du total, au lieu de calculer toute la colonne "total" , la ligne correspondante à l entrée de données ,ne pourrait elle pas être uniquement être calculée pour gagner du temps ?


merci à vous
pepsas
 

Pièces jointes

  • TOTAUX ET Rang-v3.xlsm
    74.9 KB · Affichages: 39

pierrejean

XLDnaute Barbatruc
Re : [Macro VBA]-Totaux et rang (avec condition) automatiques

Re

pas regardé ton fichier (manque de temps)
essaie ceci

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 13 And Target.Column < 19 Then
 Range("S" & Target.Row) = 0
  For m = 14 To 18
    If Cells(Target.Row, m) = "" Then
      ajout = 0
    Else
      ajout = Cells(Target.Row, m).Value
    End If
    If IsNumeric(ajout) Then Range("S" & Target.Row) = Range("S" & Target.Row) + ajout
  Next
End If
End Sub
 

pepsas

XLDnaute Nouveau
Re : [Macro VBA]-Totaux et rang (avec condition) automatiques

Bonjour Pierrejean, PAf et Forum

merci , c'est beaucoup plus rapide. J'aime .

Pour PAf
L'intêret c'est quand le fichier est utilisé par plusieurs personnes, on est sûr que les formules ne sont pas modifiées
Mais certains diront qu'il suffit de verrouiller les cellules :) et ça revient au même...


je mets le fichier en pj pour ceux que cela intéresse

pepsas
 

Pièces jointes

  • TOTAUX ET Rang-v4.xlsm
    74.8 KB · Affichages: 42

Discussions similaires

Réponses
7
Affichages
321

Statistiques des forums

Discussions
312 195
Messages
2 086 079
Membres
103 112
dernier inscrit
cuq-laet