Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Ajouter un nombre d'une colonne à une autre

Riki no Kage

XLDnaute Nouveau
Bonjour,

J'aimerais savoir s'il est possible (et surtout comment faire) pour ajouter un bouton dont la vocation serait d'ajouter le contenu de toutes les cellules d'une colonne au contenu d'une autre colonne.

Par exemple, je possède les données de ce tableau et j'aimerais ajouter le contenu des cellules de B dans A :

A | B
1 | 2
8 | 3
7 | 6

De telle manière que le tableau devienne :

A | B
3 | 0
11 | 0
13 | 0

Bien à vous (et bonne soirée), Riki.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Une possible macro
VB:
Sub a()
Dim t, tt, i&, j&
t = [A1].CurrentRegion.Value
ReDim tt(1 To UBound(t))
For i = LBound(t) To UBound(t)
tt(i) = t(i, 1) + t(i, 2)
Next
Range("A1").Resize(UBound(tt)) = Application.Transpose(tt)
Range("B1").Resize(UBound(tt)) = 0
End Sub
Testée sur ton exemple.
 

Riki no Kage

XLDnaute Nouveau
Avec mon exemple, ça marche parfaitement, mais quand je souhaite l'adapter pour qu'il fonctionne avec mon tableau fini, l'erreur "L'indice n'appartient pas à la sélection" apparaît.

Mon tableau utilise les colonnes C et E depuis la ligne 6, j'aurais du le préciser avant, merci beaucoup quand même !
 

Staple1600

XLDnaute Barbatruc
Re


Oui comme tu le dis, tu aurais du le préciser avant
Donc pour ma part, j'en reste là puisque:
Avec mon exemple, ça marche parfaitement


NB: Quoique, histoire d'embellir mon karma et avant d'enfiler mon pyjama en pilou
Un dernier code
VB:
Sub b()
Dim t, tt, i&, j&
t = [C6:E8].Value
ReDim tt(1 To UBound(t))
For i = LBound(t) To UBound(t)
tt(i) = t(i, 1) + t(i, 3)
Next
Range("C6").Resize(UBound(tt)) = Application.Transpose(tt)
Range("E6").Resize(UBound(tt)) = 0
End Sub
 
Dernière édition:

Calvus

XLDnaute Barbatruc
Re,

Mais pourquoi ne pas poster le bon fichier du 1er coup !!!!?????!!!!!!!

Avec mon exemple :
VB:
Sub Calcul()
Dim i As Integer
For i = 6 To Range("C" & Rows.Count).End(xlUp).Row
Cells(i, 3) = Cells(i, 3) + Cells(i, 5)
Next
[E:E] = ""
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…