Enzo_Vautor
XLDnaute Nouveau
Bonsoir,
Mon problème c'est la copie des totaux de plusieur tableaux dans un nouveaux.
j'ai beaucoup d'intérogations sur les tableaux excel qui sont dans insertion tableau a coter de tableaux dynamiques.
J'ai plusieur question a vous soumettre la première question est comment appel ton ce type de tableau dans VBA?
Deuxièmement, peut on en VBA selectionner tous les tableaux en meme temps et et copier leurs totaux dans un autre ?
je vt effectuer cette action car j'ai une fichier excel de facturation à préparer pour mon patron et j'aimerai que ce soit en vba pour qu'il n'y ai pas de copier, de décaler ou d'indirect qui pourrait ne plus fonctionner a cause de mauvaise manpulations.
le fichier se présente de tel sorte que chaque feuille comporte un tableau.
-Je veut que pour chaque feuille commencant par "Calc"
Pour ça j'utilise:
For each sh in ThisWorkbook.Worksheets
If Left(sh.Name, 4) = "Calc" then
-la macro copie dans un tableau intituler "RécapFactTab" situer sur la feuille "RécapFacturation "
les cellules B1 et B2 pour chaqu'une des feuilles qui commence par calc ( les cellules B1 et B2 correspondent respectivement au nom d'une entreprise et d'un chantier) :
??????????????
grosse interogation je dois utiliser select case ou simple copie je n'y arrive pas.
- Deplus je veut que sur la même ligne apparaissent aussi la ligne de total des tableaux correspondant
J'ai esseyer ca
Sub Macro1()
Dim sh As Worksheet
For Each sh In Worksheets
If sh.FilterMode Then sh.ShowAllData
Next sh
With Sheets("RécapFacturation").ListObjects("RécapFactTab")
.ShowTotals = False
' Pour suprimmer les données et les réecrire après
For Each sh In Worksheets
If Left(sh.Name, 4) = "calc" Then
' les tableaux a selectionner serait dans des feuilles dont les noms commenceraient par "Calc"
Select Case sh.Name
Case "RécapFacturation"
For lg = 3 To sh.Range("A65536").End(xlUp).Row
lgS = .UsedRange.Rows.Count + 1
.Cells(lgS, 1) = sh.Cells(1, 2)
.Cells(lgS, 3) = sh.Cells(lg, 11)
.Cells(lgS, 4) = sh.Cells(lg, 12)
.Cells(lgS, 5) = sh.Cells(lg, 13)
.Cells(lgS, 6) = sh.Cells(lg, 14)
.Cells(lgS, 7) = sh.Cells(lg, 15)
.Cells(lgS, 8) = sh.Cells(lg, 16)
.Cells(lgS, 9) = sh.Cells(lg, 17)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
Next
Case Else
End Select
End If
Next sh
End With
End Sub
s'il vousplait je n'y arrive plus
Mon problème c'est la copie des totaux de plusieur tableaux dans un nouveaux.
j'ai beaucoup d'intérogations sur les tableaux excel qui sont dans insertion tableau a coter de tableaux dynamiques.
J'ai plusieur question a vous soumettre la première question est comment appel ton ce type de tableau dans VBA?
Deuxièmement, peut on en VBA selectionner tous les tableaux en meme temps et et copier leurs totaux dans un autre ?
je vt effectuer cette action car j'ai une fichier excel de facturation à préparer pour mon patron et j'aimerai que ce soit en vba pour qu'il n'y ai pas de copier, de décaler ou d'indirect qui pourrait ne plus fonctionner a cause de mauvaise manpulations.
le fichier se présente de tel sorte que chaque feuille comporte un tableau.
-Je veut que pour chaque feuille commencant par "Calc"
Pour ça j'utilise:
For each sh in ThisWorkbook.Worksheets
If Left(sh.Name, 4) = "Calc" then
-la macro copie dans un tableau intituler "RécapFactTab" situer sur la feuille "RécapFacturation "
les cellules B1 et B2 pour chaqu'une des feuilles qui commence par calc ( les cellules B1 et B2 correspondent respectivement au nom d'une entreprise et d'un chantier) :
??????????????
grosse interogation je dois utiliser select case ou simple copie je n'y arrive pas.
- Deplus je veut que sur la même ligne apparaissent aussi la ligne de total des tableaux correspondant
J'ai esseyer ca
Sub Macro1()
Dim sh As Worksheet
For Each sh In Worksheets
If sh.FilterMode Then sh.ShowAllData
Next sh
With Sheets("RécapFacturation").ListObjects("RécapFactTab")
.ShowTotals = False
' Pour suprimmer les données et les réecrire après
For Each sh In Worksheets
If Left(sh.Name, 4) = "calc" Then
' les tableaux a selectionner serait dans des feuilles dont les noms commenceraient par "Calc"
Select Case sh.Name
Case "RécapFacturation"
For lg = 3 To sh.Range("A65536").End(xlUp).Row
lgS = .UsedRange.Rows.Count + 1
.Cells(lgS, 1) = sh.Cells(1, 2)
.Cells(lgS, 3) = sh.Cells(lg, 11)
.Cells(lgS, 4) = sh.Cells(lg, 12)
.Cells(lgS, 5) = sh.Cells(lg, 13)
.Cells(lgS, 6) = sh.Cells(lg, 14)
.Cells(lgS, 7) = sh.Cells(lg, 15)
.Cells(lgS, 8) = sh.Cells(lg, 16)
.Cells(lgS, 9) = sh.Cells(lg, 17)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
.Cells(lgS, 10) = sh.Cells(lg, 18)
Next
Case Else
End Select
End If
Next sh
End With
End Sub
s'il vousplait je n'y arrive plus