Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1920 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel/VBA Somme d'une colonne dont on ne connait pas la longueur

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel/VBA Somme d'une colonne dont on ne connait pas la longueur

n°707789
Grek
Posté le 24-04-2004 à 17:50:38  profilanswer
 

Bonjour,
 
J'essaie de calculer la somme de tous les montants d'une colonne (Celle ne contien jamais 2x le même nombre de chiffre). Bref imposible de faire Sum("F3:F50" ) par exemple.
 
Pourriez vous m'aider à modifier le code suivant s'il vou plait ? Pour l'instant il va se placer sur la derniere cellule de la colonen F3, mais je ne sais pas comment faire pour qu'il me fasse la somme de tous les montants de cette cellule...
 
Peut etre en fixant comme variable1 la cellule F3 et comme variable2 la cellule juste au dessus de la derniere cellule, puis de faire la somme des montants entre ces deux cellule du style Sum:(variable1:variable2)
 
MErcid 'avance pour votre aide,
 
Gregory
 
Sub Macro()
   
 
Range("F3" ).Select
 
Do Until ActiveCell = ""
 
ActiveCell.Offset(1, 0).Select
 
Loop
 
ActiveCell.Formula = Ici il me faudrait la somme de toute la colonne F3....
 
 
End Sub

mood
Publicité
Posté le 24-04-2004 à 17:50:38  profilanswer
 

n°707820
Grek
Posté le 24-04-2004 à 20:04:52  profilanswer
 

Rebonjour,
 
J'ai trouvé la solution à mon probleme precedent, mais je pense que ce n'est pas la solution la plus adequate, donc si vous avez une meilleur idée... ;)
 
Cependant j'ai un autre probleme. Avec le code ci dessous, mon but est donc de la calculer la somme des montants de toute la colonne F3.
Ensuite, dans la colonne G3, je souhaite quechaque valeur presente dans chaque cellule de la colonne F3 soit divisée par la somme des montants de F3 (bref pour obtenir le pourcentage)
 
Ca fonctionne sauf que je n'arrive pas à alimenter chaque cellule de G3. Seule la premiere cellule s'alimente.
 
Voici mon code, pourriez vous m'aider à trouver une solution pour ça fonctionne ?
Merci d'avance,
 
Gregory
----------------
 
Range("F3" ).Select
Line = 0
 
Do Until ActiveCell = ""
ActiveCell.Offset(1, 0).Select
Line = Line - 1
Loop
 
Selection.Interior.ColorIndex = 40
ActiveCell.Formula = "=SUM(R[" & Line & "]C:R[-1]C)"
TotalVar = ActiveCell
 
'***
 
Line2 = 0
Range("G3" ).Select
ActiveCell.FormulaR1C1 = "=RC[-1]/" & TotalVar
 
Do Until Line2 = Line
ActiveCell.Offset(1, 0).Select
Line2 = Line2 - 1
Loop
 
A B C D  
1 5 9 0,25714286  
2 4 8  
3 3 7  
4 2 6  
5 1 5  
  35  

n°727234
Kanell
Posté le 16-05-2004 à 08:02:51  profilanswer
 


Salut,
 
Tes explications ne sont pas très très claires mais voyons si j'ai bien tout compris...
 
Selon l'exemple que tu donnes,
 
A B C D  
1 5 9 0,25714286  
2 4 8    
3 3 7    
4 2 6    
5 1 5    
  35    
 
C1 = B1+B2
C2 = B1+B3
C3 = ...
--> j'en déduis que la cellule B1 (ou F3 dans ton fichier) sert de référence pour tes additions dans C (ou G) et 35 = somme de la colonne C (ou G)
 
D1 = 9/35 (ou C1/TotalVar soit 0,25714286)
--> et tu voudrais que D2 = 8/35 (C2/TotalVar), D3 = 7/35 (C3/TotalVar), D4 = ...
 
Si c'est bien çà, ce code devrait peut-être régler ton pb :
 
 
Sub TaMacro()
On Error GoTo err
 
    Dim ligne As Long
    Dim TotalVar As Long
    Dim i As Long
     
    Range("F3" ).Select
    ligne = ActiveCell.Row - 1
    Range("F3" ).End(xlDown).Select
    ligne = Range("F3" ).End(xlDown).Row - ligne
     
    Range("G3" ).Select
    ActiveCell.FormulaR1C1 = "=RC[-1]+R[1]C[-1]"
    For i = 1 To ligne
        ActiveCell.Offset(1, 0).Range("A1" ).Select
        ActiveCell.FormulaR1C1 = "=R[-" & i & "]C[-1]+R[1]C[-1]"
    Next i
    With ActiveCell
        .Offset(1, 0).Range("A1" ).Select
        .FormulaR1C1 = "=SUM(R[-" & ligne & "]C:R[-1]C)"
        .Interior.ColorIndex = 40
        TotalVar = .Value
    End With
     
    Range("H3" ).Select
    ActiveCell.FormulaR1C1 = "=RC[-1]/" & TotalVar
    For i = 1 To ligne - 1
        ActiveCell.Offset(i, 0).FormulaR1C1 = "=RC[-1]/" & TotalVar
    Next i
     
    Exit Sub
err:
    MsgBox "La colonne F est vide !!", vbCritical
End Sub
 
 
A plus...
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel/VBA Somme d'une colonne dont on ne connait pas la longueur

 

Sujets relatifs
VBA sous BOQuelques question Excell/VBA
[VBA] 3 fichier Excel dans un seul !?Problème de taille... de requête!!!!(Excel)
[Word/VBA] 'Modifier Image' sur un .WMF inséré mais en VBA?macro excel
[vbA/word] Comment intégrer une zone de texte ?VBA SOUS BO
Somme de feuilles de calcul 
Plus de sujets relatifs à : Excel/VBA Somme d'une colonne dont on ne connait pas la longueur


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR