Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Consolidation Onglets suite

4 réponses
Avatar
Jean-Paul V
Bonjour à tous

JB m'a suggéré la macro suivante qui rassemble en une seule base de données
dans la feuille "base"les bases de tous les autres onglets:
Sub consolide_onglets()
Sheets("base").[c7:f1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp)).Rows.Count
' a ->c
Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp).End(xlToRight)).Copy
[c65000].End(xlUp).Offset(1, 0)
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[c7].Interior.ColorIndex
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

Cette macro ne fonctionne que si on n'a pas de blanc,comment la transformer
sachant que ce que l'on veut consolider a le même nom de champ dans chaque
feuille "DATA"

à+ j'espère

4 réponses

Avatar
JB
Bonjour,

Je ne suis pas sûr d'avoir compris la question:

Supprime les lignes vides:

[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete

file:///C:/mesdoc/Excel/pages_site/consolidationOnglets.htm

Sub consolide_onglets()
Sheets("base").[a2:d1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[a2], Sheets(s).[A65000].End(xlUp)).Rows.Count
Range(Sheets(s).[a2],
Sheets(s).[A65000].End(xlUp).End(xlToRight)).Copy
[A65000].End(xlUp).Offset(1, 0)
[D65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[a2].Interior.ColorIndex
[D65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Cordialement JB
Bonjour à tous

JB m'a suggéré la macro suivante qui rassemble en une seule base de d onnées
dans la feuille "base"les bases de tous les autres onglets:
Sub consolide_onglets()
Sheets("base").[c7:f1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp)).Rows.Count
' a ->c
Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp).End(xlToRight)).Copy
[c65000].End(xlUp).Offset(1, 0)
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[c7].Interior.ColorIndex
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

Cette macro ne fonctionne que si on n'a pas de blanc,comment la transform er
sachant que ce que l'on veut consolider a le même nom de champ dans cha que
feuille "DATA"

à+ j'espère


Avatar
JB
http://boisgontierj.free.fr/pages_site/consolidationOnglets.htm

JB

Bonjour à tous

JB m'a suggéré la macro suivante qui rassemble en une seule base de d onnées
dans la feuille "base"les bases de tous les autres onglets:
Sub consolide_onglets()
Sheets("base").[c7:f1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp)).Rows.Count
' a ->c
Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp).End(xlToRight)).Copy
[c65000].End(xlUp).Offset(1, 0)
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[c7].Interior.ColorIndex
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

Cette macro ne fonctionne que si on n'a pas de blanc,comment la transform er
sachant que ce que l'on veut consolider a le même nom de champ dans cha que
feuille "DATA"

à+ j'espère


Avatar
JB
Bonsoir,

http://cjoint.com/?bqvW7ekfrc

Sub consolide_onglets()
Sheets("base").Select
Sheets("base").[c7:O1000].ClearContents
Sheets("base").[c6:O1000].Interior.ColorIndex = xlNone
For s = 2 To Sheets.Count
n = Sheets(s).[DATA].Rows.Count
Sheets(s).[DATA].Copy [c65000].End(xlUp).Offset(1, 0)
[O65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

JB

Bonsoir JB

Pour être plus clair, j'ai une feuille ( qui pocède le champ DATA) qu e je
vais recopier 3 fois avec une variable qui va prendre 3 valeurs différ entes
donc 3 feuilles à copier dans mon fichier cumul grace à une de vos ma cro qui
fonctionne parfaitement pour mon besoin est :
Sub EditionRecopier()
l = Range("H1").Value
s = ActiveSheet.Name
'Copier la feuille encours en dernier dans le fichier CUMUL
Sheets(s).Copy
After:=Workbooks("CUMUL.xls").Sheets((Workbooks("CUMUL.xls").Sheets.Cou nt))
' ActiveSheet.Copy After:=Workbooks("CUMUL.xls").Sheets(Sheets.Coun t)'ne
marche pas
Sheets(s).Name = l
'récupérer en valeur les résultats du tableau
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
End Sub

Si la feuille que je recopie a un nom de champ DATA correspondant à la zone
que je veux consolider dans la feuille Base de CUMUL ,on peut voir que ce
champ DATA existe sur chaque feuille obtenu avec la macro qui fait un truc
comme Edition Recopier en valeur, voir le fichier obtenu :
http://cjoint.com/?bquD5PMoHX
Je souhaite obtenir dans Base la consolidation des champs DATA des 3 feui lles.

a+ j'espère


Bonjour,

Je ne suis pas sûr d'avoir compris la question:

Supprime les lignes vides:

[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete

file:///C:/mesdoc/Excel/pages_site/consolidationOnglets.htm

Sub consolide_onglets()
Sheets("base").[a2:d1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[a2], Sheets(s).[A65000].End(xlUp)).Rows.Count
Range(Sheets(s).[a2],
Sheets(s).[A65000].End(xlUp).End(xlToRight)).Copy
[A65000].End(xlUp).Offset(1, 0)
[D65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[a2].Interior.ColorIndex
[D65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Cordialement JB
Bonjour à tous

JB m'a suggéré la macro suivante qui rassemble en une seule base de données
dans la feuille "base"les bases de tous les autres onglets:
Sub consolide_onglets()
Sheets("base").[c7:f1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp)).Rows.Count
' a ->c
Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp).End(xlToRight)).Co py
[c65000].End(xlUp).Offset(1, 0)
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[c7].Interior.ColorIndex
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

Cette macro ne fonctionne que si on n'a pas de blanc,comment la trans former
sachant que ce que l'on veut consolider a le même nom de champ dans chaque
feuille "DATA"

à+ j'espère








Avatar
Jean-Paul V
Bonjour JB

Merci ça marche ! ! !


Bonsoir,

http://cjoint.com/?bqvW7ekfrc

Sub consolide_onglets()
Sheets("base").Select
Sheets("base").[c7:O1000].ClearContents
Sheets("base").[c6:O1000].Interior.ColorIndex = xlNone
For s = 2 To Sheets.Count
n = Sheets(s).[DATA].Rows.Count
Sheets(s).[DATA].Copy [c65000].End(xlUp).Offset(1, 0)
[O65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

JB

Bonsoir JB

Pour être plus clair, j'ai une feuille ( qui pocède le champ DATA) que je
vais recopier 3 fois avec une variable qui va prendre 3 valeurs différentes
donc 3 feuilles à copier dans mon fichier cumul grace à une de vos macro qui
fonctionne parfaitement pour mon besoin est :
Sub EditionRecopier()
l = Range("H1").Value
s = ActiveSheet.Name
'Copier la feuille encours en dernier dans le fichier CUMUL
Sheets(s).Copy
After:=Workbooks("CUMUL.xls").Sheets((Workbooks("CUMUL.xls").Sheets.Count))
' ActiveSheet.Copy After:=Workbooks("CUMUL.xls").Sheets(Sheets.Count)'ne
marche pas
Sheets(s).Name = l
'récupérer en valeur les résultats du tableau
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
End Sub

Si la feuille que je recopie a un nom de champ DATA correspondant à la zone
que je veux consolider dans la feuille Base de CUMUL ,on peut voir que ce
champ DATA existe sur chaque feuille obtenu avec la macro qui fait un truc
comme Edition Recopier en valeur, voir le fichier obtenu :
http://cjoint.com/?bquD5PMoHX
Je souhaite obtenir dans Base la consolidation des champs DATA des 3 feuilles.

a+ j'espère


Bonjour,

Je ne suis pas sûr d'avoir compris la question:

Supprime les lignes vides:

[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete

file:///C:/mesdoc/Excel/pages_site/consolidationOnglets.htm

Sub consolide_onglets()
Sheets("base").[a2:d1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[a2], Sheets(s).[A65000].End(xlUp)).Rows.Count
Range(Sheets(s).[a2],
Sheets(s).[A65000].End(xlUp).End(xlToRight)).Copy
[A65000].End(xlUp).Offset(1, 0)
[D65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[a2].Interior.ColorIndex
[D65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Cordialement JB
Bonjour à tous

JB m'a suggéré la macro suivante qui rassemble en une seule base de données
dans la feuille "base"les bases de tous les autres onglets:
Sub consolide_onglets()
Sheets("base").[c7:f1000].ClearContents
For s = 2 To Sheets.Count
n = Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp)).Rows.Count
' a ->c
Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp).End(xlToRight)).Copy
[c65000].End(xlUp).Offset(1, 0)
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[c7].Interior.ColorIndex
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

Cette macro ne fonctionne que si on n'a pas de blanc,comment la transformer
sachant que ce que l'on veut consolider a le même nom de champ dans chaque
feuille "DATA"

à+ j'espère