Créer un macro additionnant deux lignes excel

comercier Messages postés 2 Statut Membre -  
comercier Messages postés 2 Statut Membre -
Bonjour,
je cherche à créer un macro qui additionne deux lignes excel, puis qui supprime ces lignes et les remplace par la nouvelle somme (partant de la colonne D à CD). Le problème que j'ai rencontré est le suivant: lorsque je crée mon macro, il l'applique aux lignes utilisées lors de la création. Je ne suis pas doué dans VBA et j'aurais besoin d'aide concernant la réalisation de cet outil essentiel à mon travail.

Merci d'avance!
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. Roy Corey Messages postés 5 Statut Membre 2
     
    Quel est le but précis de ta macro? Juste additionner ces deux lignes ou un algo sur de nombreuses lignes pour n'en avoir plus qu'une seule à la fin?
    Tu veux dire quoi par : "il l'applique aux lignes utilisées lors de la création"???

    Pourquoi supprimer les deux lignes? Tu fais la somme dans la première ligne et tu supprimes juste la seconde ligne.

    Sub highlander ()
    Dim i as integer
    
    For i = 0 to 78
            Range("D1").Offset(0,i).Value = Range("D1").Offset(0,i).Value + Range("D1").Offset(1,i).Value
    Next i
    Range("E1").EntireRow.Delete Shift:=xlShiftUp
    
    End sub


    Tout ça se trouve dans l'aide fournit avec excel.
    0
  2. comercier Messages postés 2 Statut Membre
     
    La situation est la suivante:

    les deux première lignes représentent des établissements qui ont fusionnés

    la troisième ligne représente la fusion des deux (ce pourquoi je désire remplacé la somme des deux lignes par les deux autres puisque qu'elles ne me sont plus nécessaires)

    quand j'exécute le macro, il l'applique par exemple aux lignes que j'ai utilisé lors de la création donc pas forcément les ligne sur lesquelles je désire appliquer le macro:

    Sub Macro2()
    '
    ' Macro2 Macro
    ' Macro enregistrée le 2008-06-06 par MSSS
    '
    ' Touche de raccourci du clavier: Ctrl+t
    '
    Range("D17").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)"
    Range("D17").Select
    Selection.AutoFill Destination:=Range("D17:CD17"), Type:=xlFillDefault
    Range("D17:CD17").Select
    ActiveWindow.ScrollColumn = 80
    ActiveWindow.ScrollColumn = 79
    ActiveWindow.ScrollColumn = 78
    ActiveWindow.ScrollColumn = 77
    ActiveWindow.ScrollColumn = 76
    ActiveWindow.ScrollColumn = 75
    ActiveWindow.ScrollColumn = 74
    ActiveWindow.ScrollColumn = 73
    ActiveWindow.ScrollColumn = 72
    ActiveWindow.ScrollColumn = 71
    ActiveWindow.ScrollColumn = 70
    ActiveWindow.ScrollColumn = 69
    ActiveWindow.ScrollColumn = 68
    ActiveWindow.ScrollColumn = 67
    ActiveWindow.ScrollColumn = 66
    ActiveWindow.ScrollColumn = 65
    ActiveWindow.ScrollColumn = 64
    ActiveWindow.ScrollColumn = 63
    ActiveWindow.ScrollColumn = 62
    ActiveWindow.ScrollColumn = 61
    ActiveWindow.ScrollColumn = 60
    ActiveWindow.ScrollColumn = 59
    ActiveWindow.ScrollColumn = 58
    ActiveWindow.ScrollColumn = 57
    ActiveWindow.ScrollColumn = 56
    ActiveWindow.ScrollColumn = 55
    ActiveWindow.ScrollColumn = 54
    ActiveWindow.ScrollColumn = 53
    ActiveWindow.ScrollColumn = 52
    ActiveWindow.ScrollColumn = 51
    ActiveWindow.ScrollColumn = 50
    ActiveWindow.ScrollColumn = 49
    ActiveWindow.ScrollColumn = 48
    ActiveWindow.ScrollColumn = 47
    ActiveWindow.ScrollColumn = 46
    ActiveWindow.ScrollColumn = 45
    ActiveWindow.ScrollColumn = 44
    ActiveWindow.ScrollColumn = 43
    ActiveWindow.ScrollColumn = 42
    ActiveWindow.ScrollColumn = 41
    ActiveWindow.ScrollColumn = 40
    ActiveWindow.ScrollColumn = 39
    ActiveWindow.ScrollColumn = 38
    ActiveWindow.ScrollColumn = 37
    ActiveWindow.ScrollColumn = 36
    ActiveWindow.ScrollColumn = 35
    ActiveWindow.ScrollColumn = 34
    ActiveWindow.ScrollColumn = 33
    ActiveWindow.ScrollColumn = 31
    ActiveWindow.ScrollColumn = 30
    ActiveWindow.ScrollColumn = 29
    ActiveWindow.ScrollColumn = 28
    ActiveWindow.ScrollColumn = 27
    ActiveWindow.ScrollColumn = 26
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 24
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Selection.Copy
    Range("D15").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("D16:CD17").Select
    Application.CutCopyMode = False
    Selection.Clear
    End Sub

    Ce dernier aurait besoin d'un «chemin relatif» afin de fonctionner correctement
    0