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

  • Initiateur de la discussion Initiateur de la discussion pepsas
  • 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 !

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

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+
 
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
 
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

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
 
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

- 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

Discussions similaires

Réponses
5
Affichages
568
Réponses
7
Affichages
626
Réponses
7
Affichages
663
Réponses
1
Affichages
873
Retour