Sommer trois colonnes

duduleray Messages postés 23 Statut Membre -  
duduleray Messages postés 23 Statut Membre -
Bonjour,

Je souhaiterai sommer 3 colonnes svp en VBA

(1) somme de E2:E27 resultat en E28
(2) somme de I2:I27 resultat en I28
(3) somme de J2:J27 resultat en J28

voila simplement et merci beaucoup

Bonne soirée
Raymond
Configuration: Windows Vista
Internet Explorer 7.0

11 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Pourquoi en VBA, si tu souhaites la somme de chaque colonne
    =SOMME(E2:E27)
    =SOMME(I2:I27)
    =SOMME(J2:J27)

    Ou la somme des trois colonnes

    =SOMME(E2:E27;I2:I27;J2:J27)

    A+
    0
  2. duduleray Messages postés 23 Statut Membre 1
     
    bonsoir Mike forum

    Tout simplement parce que j'apprends le VBA

    et mon programme qui avance doucemnt, donc en VBA je voulais sommer chaque colonne avec le resultat comme decris dans la question

    Voila, Merci beaucoup bonne soiree a plus tard

    Raymond
    0
  3. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    Bonjour,

    Le VBA n'est pas indispensable, mais voilà :

    Range("E28").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-26]C:R[-1]C)"

    Etc .....

    Cordialement
    0
    1. duduleray Messages postés 23 Statut Membre 1
       
      bonsoir jean jacques

      Merci pour ta reponse le vba comme j'apprends peut tu STP me commenter la deuxieme ligne

      car elle ne me parle pas beaucoup, merci bien d'avance c'est pour un debutant
      suis sur EL 2007

      en tout cas merci c'est sympa

      Raymond
      0
  4. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    Bonsoir duduleray,

    Range("E28").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-26]C:R[-1]C)"

    Signification : Je suis dans la cellule ("E28").
    - Cette cellule ("E28") contient la somme des valeurs des cellules de la colonne comprises entre les cellules positionnées entre -26 et -1 par rapport à E28.

    Cordialement
    0
    1. duduleray Messages postés 23 Statut Membre 1
       
      Bonsoir jean jacques

      merci pour les commentaires, mais je viens d'essayer ca ne fonctionne pas

      somme de E2:E27 resultat en E28
      somme de I2:I27 resultat en I28
      somme de J2:J27 resultat en J28

      en VBA parce que tout mon programme est en vba et j'apprends

      Voila merci bien
      bonne soiree
      Raymond
      0
      1. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112 > duduleray Messages postés 23 Statut Membre
         
        Bonsoir,

        Pour compléter Mike-31, voici une bonne adresse pour débuter en Visual Basic.

        https://vb.developpez.com/cours/


        Cordialement
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Alors si tu apprends le VBA je vais te donner deux petits conseils,

    1/ te procurer une petite revue pas trop compliquée qui traite le VBA
    2/ lorsque tu es dans le visual Basic n’oublies pas d’utiliser l’aide ?
    3/ utilise l’assistant macro pour écrire tes premier code, affichage/barre d’outils/Visual Basic clic sur le deuxième bouton (Enregistrer une macro) et tu fais exactement ce que tu ferais normalement, le code vat s’écrire automatiquement dans un module. Il ne te restera plus qu’a le lire.
    Ce procédé génère des lignes inutiles et avant de les effacer, devant une ligne tu place une apostrophe ‘ ce procédé isoler la ligne et le code cde cette ligne ne s’exécutera pas.

    Tu peux à tout moment poser ton code dans un message sur le forum et demander conseil.

    Essayes de faire ce code pour ton problème et colles le sur un post on te dira ce qui ne va pas, tu devrais obtenir ceci

    Sub Macro1()
    Range("E28").Select
    Selection.FormulaR1C1 = "=SUM(R[-26]C:R[-1]C)"
    End Sub

    A+
    0
    1. duduleray Messages postés 23 Statut Membre 1
       
      Bonjour mike

      Merci pour les conseils, tu me dit d'utiliser l'aide c'est pas bien expliquer, je ne vais pas refaire la doc, mais ca ne serai pas un luxe

      si on avait la meme chose en francais bien souvent c'est derouler 2 km de listing pour dire "voir exemple"
      je vois ex: 5 mots en anglais et j'en passe.
      donc pour un debutant c'est plutot rebutant ," c'est Dimanche " les livres sont hors prix et sont mal expliquer avec des exemples de maternel et ca reviens souvent pareil, passer une apres midi a la fnac heureusement que je ne suis pas ecouter sinon la paye y passais juste pour 4 bouquins pour enfin en mettant bout a bout arriver a sommer 3 colonnes

      sinon ca programme bien

      en tout cas merci bien te souhaite un bon Dimanche

      Raymond
      0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Je te comprends, tout est question de fric, mais en grande surface tu peux trouver des bouquins basiques pour une trentaine d'euros comme Le programmeur formation accélérée editeur CompusPress (s'il existe encore) pas trop mal fait qui traite les problèmes par chapitre.
    Depuis Excel 2000, la programmation est en Anglais, c'est bien dommage cette programmation était plus facile sur les versions antérieures comme Excel 5 qui s'écrivait en Français.

    L’aide du visual basic peut t'être très utile pour retrouver quelques termes et exemple.
    par contre l'assistant macro écrit très bien des codes basiques mais avant de déclencher l'enregistrement macro je te conseille d'écrire sur un bout de papier ce que tu souhaites faire, parce que tout ce que tu feras sera codifié et ton code qui comportera déjà pas mal de lignes inutiles sera à rallonge.

    En tout cas n'hésites pas de faire appel au forum

    Bon dimanche à toi
    0
  8. duduleray Messages postés 23 Statut Membre 1
     
    Salut Mike

    Merci de ta sympathie, je vais suivre tes conseils.

    J'ai trouver une petite horloge en VBA simple dont j'ai le code, j'ai vu dans different exemple que l'on pouvait faire clignoter les deux premiers points " : ", on peut faire ou pas ca facilement je te mets le code si tu veux

    Merci bien a toi et te souhaite egalement un bon Dimanche avant le retour de la pluie

    Raymond
    0
  9. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Excel permet beucoup de chose donc le clignotement qui fonctionne sur le cadencé du système (horloge), pour un bon fonctionnement, tout dépend de l'environnement macro utilisé en même temps. Si tu utilises que l'horloge pas de problème par contre si tu te sers de VBA en même temps ça peu planter Excel.

    Fais attention lorsque tu télécharges des codes macros, souvent des vers, virus etc ... se cachent dedans

    Mais tu peux mettre le code

    A+
    0
  10. duduleray Messages postés 23 Statut Membre 1
     
    RE

    merci beaucoûp c'est sympa, voila le code t'inquiete pas, je fait tres attention au virus le code est verifier par mon antivirus officiel tout comme mon vista pas de probleme mais tu fait bien de le dire on ai jamais a l'abri de ces saloperies. merci j'ai donné

    REMISE a l'heure toutes 20 secondes, le creneau me va bien

    '--- CODE HORLOGE PERMANENTE DANS CELLULE EN TEMPS REEL ThisWorkBook ---
    Dim bstop As Boolean
    Dim HeureProchainAppel
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    bstop = True
    HorlogeEnC1
    End Sub
    Private Sub Workbook_Open()
    HorlogeEnC1
    End Sub
    Sub HorlogeEnC1()
    If bstop = True Then
    'Annuler le paramétrage du OnTime programmé précédemment
    Application.OnTime EarliestTime:=HeureProchainAppel, _
    Procedure:="ThisWorkbook.HorlogeEnC1", Schedule:=False
    Exit Sub
    End If
    Sheets("Compte").Range("C1").Value = Format(Now, "HH:MM:SS")
    'Nouveau paramétrage de OnTime ici 20 secondes
    HeureProchainAppel = Now + TimeValue("00:00:20")
    Application.OnTime HeureProchainAppel, "ThisWorkbook.HorlogeEnC1", False
    End Sub

    Prends le temps de manger quand meme, c'est Dimanche, c'est pas urgent, mais depeche toi, (je deconne)

    Bon Dimanche et merci

    Raymond
    0
  11. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    J'ai regardé ton code qui fonctionne bien, par contre je n’ai pas trouvé l’astuce pour faire clignoter les séparateurs horaires, (les deux points).
    J’ai de mon coté posé la question a quelques maîtres du VBA sur ce forum qui n’ont pas été pour l’instant inspiré.
    Il est possible de faire clignoter la cellule ou le contenu mais une partie du contenu ?
    S’il y a possibilité, je te le ferai savoir et de ton côté, et si tu trouves un code, n’hésites pas à le siter dans la discussion, on essayera de faire quelque chose

    A+
    0
  12. duduleray Messages postés 23 Statut Membre 1
     
    Salut Mike bonjour forum

    j'ai trouver en fouinant, je l'ai adopter, ca marche sur XL2007 et vista, mais forcement ca ralenti vu qu'il y a une interruption toutes les secondes

    voici le code
    Dim Bstop, BlnDeuxPoint As Boolean
    Dim HeureProchainAppel
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Bstop = True
    HorlogeEnC1
    End Sub
    Private Sub Workbook_Open()
    HorlogeEnC1
    End Sub
    Sub HorlogeEnC1()
    If Bstop = True Then
    'Annuler le paramétrage du OnTime programmé précédemment
    Application.OnTime EarliestTime = HeureProchainAppel, _
    Procedure = "ThisWorkbook.HorlogeEnC1", Schedule = False
    Exit Sub
    End If
    If BlnDeuxPoint Then
    Sheets("Compte").Range("C1").Value = Format(Now, "HH:MM:SS")
    BlnDeuxPoint = False
    Else
    Sheets("Compte").Range("C1").Value = Format(Now, "HH:MM SS")
    BlnDeuxPoint = True
    End If
    HeureProchainAppel = Now + TimeValue("00:00:01")
    Application.OnTime HeureProchainAppel, "ThisWorkbook.HorlogeEnC1", False
    End Sub

    Merci tout de meme et surement a bientot
    Bonne journee a toi
    Raymond au plaisir de te relire
    0