additioner des tableaux entre eux avec un control x(case à cocher

mouss5174

XLDnaute Nouveau
Bonjour,

J'aimereai réaliser un code vba permettant d'additionner des tableaux si que je coche des caseS
et de revenir en arriere si je d2coche la case ;

si je coche la case 1, je veut additionner la feuil2 à la feuil1
si je coche la case 2, je veut additionner la feuill3 à la feuil1

si je coche la case 2 et 3 , je veut additioner la feuil3 et feuill4 à la feuil1

si je coche toutes les cases je veut additionner toute les feuilles à la 1

mais je ne sait pas si cela est réalisable d'où le casse tête
j'espère touver un petit génie pour m'aider
je joins un fichier exemple

cdt
 

Pièces jointes

  • addition de tableau .xlsm
    41.7 KB · Affichages: 61
  • addition de tableau .xlsm
    41.7 KB · Affichages: 62
  • addition de tableau .xlsm
    41.7 KB · Affichages: 62

gilbert_RGI

XLDnaute Barbatruc
Re : additioner des tableaux entre eux avec un control x(case à cocher

Bonjour

un truc dans le genre :cool:
 

Pièces jointes

  • addition de tableau .xlsm
    61.1 KB · Affichages: 65
  • addition de tableau .xlsm
    61.1 KB · Affichages: 74
  • addition de tableau .xlsm
    61.1 KB · Affichages: 74
Dernière édition:

mouss5174

XLDnaute Nouveau
Re : additioner des tableaux entre eux avec un control x(case à cocher

bonjour,
merci pour ta proposition
mais ce n'est pas tout a fait ce que je recherche
tu m'as creer une colonne de somme et cela m'interresse pas
je veut que la valeur de la cellule b2 de feuille 2 s'additionne à la valeur de la cellule b2 de la feuille 1 et que le résultat de la somme se mette dans la cellule a1 de la feuille 1

ci je coche la case 1 je devrait avoir en feuille 1 b2=2; e4 =7 ; {klm}3 =7 ; {nop}3 =8

toutes les cellules respective s'additionne entre elles

cdt
 
Dernière édition:

mouss5174

XLDnaute Nouveau
Re : additioner des tableaux entre eux avec un control x(case à cocher

bonsoir,
d'ou la difficulté d'additionner un tableau en gardant les valeur à leur place
dans ta trame tu m'as inventer une colonne où tu m'as fait la somme des lignes
et apres tu as fait un code pour aditionner cette colonne

en m'exprimant plus clairement je veut superposer les tableau et aditionner les cellules respective soit laissant les résultat dans la feuille soit en creant une nouvelle feuille avec un tableau identique avec les résultat

cdt
 

job75

XLDnaute Barbatruc
Re : additioner des tableaux entre eux avec un control x(case à cocher

Bonsoir mouss5174, Gilbert,

Voyez le fichier joint.

Le bon sens veut qu'il y ait une feuille Recap.

Les macros dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub CheckBox1_Click()
Addition
End Sub

Private Sub CheckBox2_Click()
Addition
End Sub

Private Sub CheckBox3_Click()
Addition
End Sub

Private Sub CheckBox4_Click()
Addition
End Sub

Private Sub CheckBox5_Click()
Addition
End Sub

Sub Addition()
Dim c, ad$, i As Byte
c = Array(CheckBox1, CheckBox2, CheckBox3, CheckBox4, CheckBox5)
ad = "B2:R12"
Application.ScreenUpdating = False
Range(ad).Offset(1).ClearContents 'RAZ
For i = 0 To 4
  If c(i) Then
    Sheets(c(i).Caption).Range(ad).Copy
    Range(ad).Offset(1).PasteSpecial xlPasteAll, xlAdd 'addition
  End If
Next
Application.CutCopyMode = False
[A1].Select
End Sub
A+
 

Pièces jointes

  • addition de tableau (1).xls
    115 KB · Affichages: 50

job75

XLDnaute Barbatruc
Re : additioner des tableaux entre eux avec un control x(case à cocher

Re,

Il manquait les titres (jours) en ligne 10 :

Code:
Range(ad).Rows(1).Copy Range(ad).Rows(1).Offset(8) 'titres
Fichier (2).

A+
 

Pièces jointes

  • addition de tableau (2).xls
    124 KB · Affichages: 47

job75

XLDnaute Barbatruc
Re : additioner des tableaux entre eux avec un control x(case à cocher

Bonjour le fil, leorum,

En toute logique il faut aussi mettre à jour la feuille Recap quand on l'active :

Code:
Private Sub Worksheet_Activate()
'mise à jour à l'activation
Addition
End Sub
J'en profite pour donner une couleur aux textes des CheckBox cochées...

Fichier (3).

A+
 

Pièces jointes

  • addition de tableau (3).xls
    125.5 KB · Affichages: 49

job75

XLDnaute Barbatruc
Re : additioner des tableaux entre eux avec un control x(case à cocher

Re,

Une manière de faire qui évite de faire la liste des CheckBox :

Code:
Sub Addition()
Dim ad$, i As Byte, c As Object
ad = "B2:R12"
Application.ScreenUpdating = False
Range(ad).Offset(1).ClearContents 'RAZ
For i = 1 To 5 'numéros des CheckBox
  Set c = Me.OLEObjects("CheckBox" & i).Object
  c.ForeColor = IIf(c, &HFF&, &H80000008) 'rouge
  If c Then
    Sheets(c.Caption).Range(ad).Copy
    Range(ad).Offset(1).PasteSpecial xlPasteAll, xlAdd 'addition
  End If
Next
Range(ad).Rows(1).Copy Range(ad).Rows(9) 'titres
[A2].Select
End Sub
Fichier (4).

A+
 

Pièces jointes

  • addition de tableau (4).xls
    126 KB · Affichages: 49

job75

XLDnaute Barbatruc
Re : additioner des tableaux entre eux avec un control x(case à cocher

Re,

Voici une dernière solution qui à mon avis est la meilleure.

Elle n'utilise plus le Copier/Collage spécial mais des tableaux VBA :

Code:
Sub Addition()
Dim plage As Range, ad$, ub1&, ub2%, tablo()
Dim n As Byte, c As Object, t, i&, j%
Set plage = [B3:R13] 'à adapter éventuellement
ad = "B2:R12"
ub1 = plage.Rows.Count
ub2 = plage.Columns.Count
ReDim tablo(1 To ub1, 1 To ub2)
For n = 1 To 5 'numéros des CheckBox
  Set c = Me.OLEObjects("CheckBox" & n).Object
  c.ForeColor = IIf(c, &HFF&, &H80000008) 'rouge
  If c Then
    t = Sheets(c.Caption).Range(ad) 'tableau
    For i = 1 To ub1
      For j = 1 To ub2
        If Not IsEmpty(t(i, j)) Then If IsNumeric(t(i, j)) _
          Then tablo(i, j) = tablo(i, j) + t(i, j)
      Next
    Next
  End If
Next
plage = tablo 'restitution
plage.Rows(8) = plage.Rows(0).Value 'titres
[A2].Select 'facultatif, pour ôter le focus de la CheckBox
End Sub
L'exécution est rapide même sur de grands tableaux.

Fichier joint.

Edit : Application.ScreenUpdating = False paraît inutile.

A+
 

Pièces jointes

  • addition de tableau sans collage spécial(1).xls
    127.5 KB · Affichages: 36
Dernière édition:

mouss5174

XLDnaute Nouveau
Re : additioner des tableaux entre eux avec un control x(case à cocher

bonjour,

merci job 75 pour tous ces exemples, c'est royal
c'est tout à fait ce que je recherchais étant que mon tableau est plus important que l'exemple
cela m'enlève une epine
il me reste plus qu'a l'adapter
car je vais creer une feuille avec seulement les case à cocher et la feuille recap avec les totaux choisit


@+
 

job75

XLDnaute Barbatruc
Re : additioner des tableaux entre eux avec un control x(case à cocher

Bonjour mouss5174,

L'adaptation n'est pas très difficile mais il faut de l'attention.

Voyez les nouvelles macros dans les feuilles Recap et Cases à cocher.

Fichier (2).

A+
 

Pièces jointes

  • addition de tableau sans collage spécial(2).xls
    142 KB · Affichages: 48
  • addition de tableau sans collage spécial(2).xls
    142 KB · Affichages: 55
  • addition de tableau sans collage spécial(2).xls
    142 KB · Affichages: 51

mouss5174

XLDnaute Nouveau
Re : additioner des tableaux entre eux avec un control x(case à cocher

bonjour,
super le code,

à la feuille case cocher à cocher, j'jai rajouter un bouton de commande afin de copier la feuille recap
discussion : https://www.excel-downloads.com/thr...-dun-classeur-vers-un-dossier-a-creer.182118/
mais erreur 9 lcode de la feuille recap "set c........."

cdt


Bonjour mouss5174,

L'adaptation n'est pas très difficile mais il faut de l'attention.

Voyez les nouvelles macros dans les feuilles Recap et Cases à cocher.

Fichier (2).

A+
 

Discussions similaires

Réponses
7
Affichages
586

Statistiques des forums

Discussions
312 523
Messages
2 089 317
Membres
104 119
dernier inscrit
karbone57