Créer un macro additionnant deux lignes excel
comercier
Messages postés
2
Statut
Membre
-
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!
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!
A voir également:
- Créer un macro additionnant deux lignes excel
- Comment créer un groupe whatsapp - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Créer un compte google - Guide
- Créer liste déroulante excel - Guide
- Créer un lien pour partager des photos - Guide
2 réponses
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.
Tout ça se trouve dans l'aide fournit avec excel.
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.
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
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