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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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.
 
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 !
 
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:
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
 
Bonjour,

Une autre manière de procéder :
VB:
Sub Test()
  With Range("e6:e" & Cells(Rows.Count, "e").End(xlUp).Row)
  .Copy
  .Offset(, -2).PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd
  .Value = 0
  End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
179
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…