Help, Trés Urgent , Sous Total Par Macro

Foufoudora

XLDnaute Occasionnel
Bonjour à Toutes et à Tous

je demande votre aide sur le calcul des sous totaux des colonnes (I, J, K, L, M, N) dans la feuille "Traitement" par macro. (voir Fichier Joint)

dans la feuille "Saisie", la longueur des lignes saisies varient très souvent,
les données sont saisies chaque jour
N.B. par sousi de confidentialité quelques données ont été supprimées.
Merci pour votre compréhension
Merci d'avance pour votre aide
 

Pièces jointes

  • Projet_excel_download .zip
    22.3 KB · Affichages: 58
  • Projet_excel_download .zip
    22.3 KB · Affichages: 59
  • Projet_excel_download .zip
    22.3 KB · Affichages: 57

porcinet82

XLDnaute Barbatruc
Re : Help, Trés Urgent , Sous Total Par Macro

Bonsoir Foufoudora,

Dernier posts de la soirée, je pense que la macro suivante devrait faire ce que tu souhaites, mais a tester a fond...

PHP:
Sub test()
Dim i&, j&, lig%
lig = 2
For i = 2 To Range("A65536").End(xlUp).Row + 1
    If Cells(i, 1).Value = "" Then
        For j = 9 To 14
            Cells(i, j).Value = Application.WorksheetFunction.Sum(Range(Cells(lig, j), Cells(i - 1, j)))
        Next j
        lig = Cells(i, j).Row + 1
    End If
Next i
End Sub

Bonne nuit a tous,

@+
 

Foufoudora

XLDnaute Occasionnel
Re : Help, Trés Urgent , Sous Total Par Macro

Bonjour Romain,
en fait j'ai essayé ta macro mais malheureusement ca bloque et donne un code 1004 !!!!
en fait je désire des sous-totaux des colonnes citées précédement par jour, et chaque mois les sous-totaux et finalement à la fin de l'année les totaux généraux. Ouf c'est beaucoup. On peux les copier sur une autre feuille .
ci-joint la macro de validation des données saisies.

Merci d'avance
Cordialement
Foufoudora

Private Sub CommandButton1_Click()

Dim TabTemp As Variant
Dim Derlgn As Integer, Derlgn2 As Integer, L As Integer
Dim C As Byte
Dim i&, j&, lig%
With Worksheets("Saisie")
'.Unprotect car la feuille est déjà protégé
Derlgn = .Range("B65536").End(xlUp).Row 'B car il y a des formules dans la colonne A
If Derlgn = 3 Then Derlgn = 4
TabTemp = .Range(Cells(4, 1), Cells(Derlgn, 18)).Value 'ici le 18 représente la derniere colonne prise en compte
'.Range(Cells(4, 1), Cells(Derlgn, 18)).ClearContents 'ici aussi
.Protect
End With
With Worksheets("Traitement")
.Unprotect
Derlgn2 = .Range("A65536").End(xlUp).Row 'détecte la derniere ligne non vide
For L = 1 To UBound(TabTemp, 1) 'pour chaque ligne du tableau
For C = 1 To UBound(TabTemp, 2) 'pour chaque Colonne du tableau
If TabTemp(1, 1) = "" Then Exit Sub 'On sort si pas de données
.Cells(Derlgn2 + L, C) = TabTemp(L, C) 'ici on colle les données
Next
Next
.Protect
End With
End Sub
 

porcinet82

XLDnaute Barbatruc
Re : Help, Trés Urgent , Sous Total Par Macro

Salut Foufoudora,

Je viens de retester ma macro et chez moi elle fonctionne, je te joint le fichier pour que tu regardes ce que ca donne. Pour tes autres sous totaux, en adaptant un peu le code, je pense que tu devrais t'en sortir.

Si ce n'est pas le cas, refais un ti signe,

@+
 

Pièces jointes

  • Foufoudora.zip
    24 KB · Affichages: 55

Foufoudora

XLDnaute Occasionnel
Re : Help, Trés Urgent , Sous Total Par Macro

Salut,

J'ai essayé la macro la première fois ca a marché mais quand j'ai saisi des données dans la feuille "Saisie" et je les ai transferé sur la feuille "Traitement" par le bouton "Valider" le transfert s'est bien passé mais qd j'ai essayé de tester ta macro ca beuguer sur la ligne suivante

Cells(i, j).Value = Application.WorksheetFunction.Sum(Range(Cells(lig, j), Cells(i - 1, j)))

En fait essaies de saisir 2 lignes sur la feuille "saisi" et testes les.

cordialement

Foufoudora
 

ChTi160

XLDnaute Barbatruc
Re : Help, Trés Urgent , Sous Total Par Macro

re
voici une adaptation avec une partie du code de Romain
Private Sub CommandButton1_Click()
Dim TabTemp As Variant
Dim Derlgn As Integer, Derlgn2 As Integer, L As Integer
Dim C As Byte, j As Byte
With Worksheets("Saisie")
.Unprotect
Derlgn = .Range("B65536").End(xlUp).Row 'B car il y a des formules dans la colonne A
If Derlgn = 3 Then Derlgn = 4
TabTemp = .Range(.Cells(4, 1), .Cells(Derlgn, 18)).Value 'ici le 18 représente la derniere colonne prise en compte
'.Range(Cells(4, 1), Cells(Derlgn, 18)).ClearContents 'ici aussi
.Protect
End With
With Worksheets("Traitement")
.Unprotect
Derlgn2 = .Range("A65536").End(xlUp).Row 'détecte la derniere ligne non vide
For L = 1 To UBound(TabTemp, 1) 'pour chaque ligne du tableau
For C = 1 To UBound(TabTemp, 2) 'pour chaque Colonne du tableau
If TabTemp(1, 1) = "" Then Exit Sub 'On sort si pas de données
.Cells(Derlgn2 + L, C) = TabTemp(L, C) 'ici on colle les données
Next
Next
Derlgn2 = .Range("A65536").End(xlUp).Row + 1 'détecte la derniere ligne vide
For j = 9 To 14
.Cells(Derlgn2, j).Value = Application.WorksheetFunction.Sum(.Range(.Cells(.Cells(Derlgn2, j).Offset(-UBound(TabTemp, 1), 0).Row, j), .Cells(Derlgn2 - 1, j)))
Next j

.Protect
End With

End Sub
Bonne journée
 

Foufoudora

XLDnaute Occasionnel
Re : Help, Trés Urgent , Sous Total Par Macro

Merci Papy,

ca fonctionne très bien.
je peux te demander une autre chose.
1- avant la somme des sous totaux de marquer "Sous-Totaux" à chaque fois on fait la somme.
2- serait-il possible de faire sur une autre feuille "Synthèse" le cumul des sous-totaux mensuel et à la fin le total de l'année comme ca je ferais après un graphique.

Merci d'avance.

Foufoudora
 

ChTi160

XLDnaute Barbatruc
Re : Help, Trés Urgent , Sous Total Par Macro

Salut Foufoudora :D

En pièce jointe une réponse à la premiere demande

pour ce qui est de la feuille Archives lol il me faut un complément d'infos

faut il archiver chaque jours ou à la demande

enfin essayes de m'éclairer :confused:

Regarde la pièce jointe Projet_excel_downloadV2.zip

bonne fin de Soirée
 

Pièces jointes

  • Projet_excel_downloadV2.zip
    26 KB · Affichages: 50
  • Projet_excel_downloadV2.zip
    26 KB · Affichages: 51

Foufoudora

XLDnaute Occasionnel
Re : Help, Trés Urgent , Sous Total Par Macro

Salut Papy,

Magnifique.
pour la feuille "archives" sera le cumul de chaque mois de la feuille traitement:

j'ai mis un exemple dans la feuille "Archives".

Merci par avance

Cordialement

Foufoudora
 

Pièces jointes

  • Projet_excel_downloadV2.zip
    25.8 KB · Affichages: 44
  • Projet_excel_downloadV2.zip
    25.8 KB · Affichages: 43
  • Projet_excel_downloadV2.zip
    25.8 KB · Affichages: 41

Foufoudora

XLDnaute Occasionnel
Re : Help, Trés Urgent , Sous Total Par Macro

Merci Papy,

une petite question on peut mettre automatiquement les sous-totaux en Gras bien sûr avec le mot "Sous-totaux" ?

juste pour comprendre le code au cas où je dois rajouter des colonnes et faire les sous-totaux pour ces derniers et les transferer à la feuille "Archives" qu'est ce que je dois faire !!!
est ce que je peux avoir plus d'explication ?

Merci par avance

Foufoudora
 

ChTi160

XLDnaute Barbatruc
Re : Help, Trés Urgent , Sous Total Par Macro

Salut Foufoudora :D


je me pose comme d'autres la question suivante "Pourquoi Papy" Arff moi c'est Chti160 ou alors Jean Marie, mais papy ???? ca me vient d'ou lol :confused: :confused:
je vais regarder pour ce qui est de ta demande
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
442
Réponses
7
Affichages
367
Réponses
3
Affichages
871

Statistiques des forums

Discussions
312 672
Messages
2 090 773
Membres
104 662
dernier inscrit
Hurve