consolidation d'onglets

Le
Orsu
Bonjour à tous
Je cherche à consolider des données figurant dans différents onglets.
J'ai bien vu les solutions proposées par JB et notamment celle-ci (version 4
figurant sur son site) :

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value =
Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

.qui me satisfait presque totalement sauf que je voudrais conserver
l'en tête de ligne et que l'ajout du nom de l'onglet se fasse dans la
première colonne et pas dans la dernière (en clair il faut insérer une
nouvelle colonne).

Merci si quelqu'un peut m'aider car mes compétences en VBA frisent le néant

@+ et merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4755741
Salut à toi

pour obtenir l'entête remplace la ligne :

[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value

par

[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A1].Resize(nlig, ncol).Value

pour la recopie du nom de l'onglet dans la colonne rajoutée :
ou dans cette colonne le souhaites tu ???

Merci pour la précision



Bonjour à tous
Je cherche à consolider des données figurant dans différents onglets.
J'ai bien vu les solutions proposées par JB et notamment celle-ci (version 4
figurant sur son site) :

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value =
Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

.......qui me satisfait presque totalement sauf que je voudrais conserver
l'en tête de ligne et que l'ajout du nom de l'onglet se fasse dans la
première colonne et pas dans la dernière (en clair il faut insérer une
nouvelle colonne).

Merci si quelqu'un peut m'aider car mes compétences en VBA frisent le néant

@+ et merci d'avance


Orsu
Le #4755701
Merci pour l'en-tête

Pour le nom de l'onglet, je voudrais qu'il apparaisse dans la feuille de
consolidation sur chacune des lignes "importées" des différents
tableaux-source (en clair, le but est d'identifier le tableau-source pour
ensuite faire un TCD)

Merci et @+



Salut à toi

pour obtenir l'entête remplace la ligne :

[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value

par

[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A1].Resize(nlig, ncol).Value

pour la recopie du nom de l'onglet dans la colonne rajoutée :
ou dans cette colonne le souhaites tu ???

Merci pour la précision



Bonjour à tous
Je cherche à consolider des données figurant dans différents onglets.
J'ai bien vu les solutions proposées par JB et notamment celle-ci (version 4
figurant sur son site) :

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value =
Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

.......qui me satisfait presque totalement sauf que je voudrais conserver
l'en tête de ligne et que l'ajout du nom de l'onglet se fasse dans la
première colonne et pas dans la dernière (en clair il faut insérer une
nouvelle colonne).

Merci si quelqu'un peut m'aider car mes compétences en VBA frisent le néant

@+ et merci d'avance




FFO
Le #4755631
Rebonjours à toi

Essaie ce code :

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, 1).Resize(nlig, ncol).Value = _
Sheets(s).[A1].Resize(nlig, ncol).Value
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, 1).Value =
Sheets(s).Name
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Et dis moi !!!!


Merci pour l'en-tête

Pour le nom de l'onglet, je voudrais qu'il apparaisse dans la feuille de
consolidation sur chacune des lignes "importées" des différents
tableaux-source (en clair, le but est d'identifier le tableau-source pour
ensuite faire un TCD)

Merci et @+



Salut à toi

pour obtenir l'entête remplace la ligne :

[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value

par

[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A1].Resize(nlig, ncol).Value

pour la recopie du nom de l'onglet dans la colonne rajoutée :
ou dans cette colonne le souhaites tu ???

Merci pour la précision



Bonjour à tous
Je cherche à consolider des données figurant dans différents onglets.
J'ai bien vu les solutions proposées par JB et notamment celle-ci (version 4
figurant sur son site) :

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value =
Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

.......qui me satisfait presque totalement sauf que je voudrais conserver
l'en tête de ligne et que l'ajout du nom de l'onglet se fasse dans la
première colonne et pas dans la dernière (en clair il faut insérer une
nouvelle colonne).

Merci si quelqu'un peut m'aider car mes compétences en VBA frisent le néant

@+ et merci d'avance






Orsu
Le #4755301
Trop fort !!!!!

ca marche impec !

Merci encore ;-)))


Rebonjours à toi

Essaie ce code :

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, 1).Resize(nlig, ncol).Value = _
Sheets(s).[A1].Resize(nlig, ncol).Value
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, 1).Value =
Sheets(s).Name
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Et dis moi !!!!


Merci pour l'en-tête

Pour le nom de l'onglet, je voudrais qu'il apparaisse dans la feuille de
consolidation sur chacune des lignes "importées" des différents
tableaux-source (en clair, le but est d'identifier le tableau-source pour
ensuite faire un TCD)

Merci et @+



Salut à toi

pour obtenir l'entête remplace la ligne :

[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value

par

[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A1].Resize(nlig, ncol).Value

pour la recopie du nom de l'onglet dans la colonne rajoutée :
ou dans cette colonne le souhaites tu ???

Merci pour la précision



Bonjour à tous
Je cherche à consolider des données figurant dans différents onglets.
J'ai bien vu les solutions proposées par JB et notamment celle-ci (version 4
figurant sur son site) :

Sub consolide_ongletsNomOnglet()
Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
nlig = Sheets(s).[A65000].End(xlUp).Row - 1
ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
[A65000].End(xlUp).Offset(1, ncol).Resize(nlig, 1).Value =
Sheets(s).Name
[A65000].End(xlUp).Offset(1, 0).Resize(nlig, ncol).Value = _
Sheets(s).[A2].Resize(nlig, ncol).Value
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

.......qui me satisfait presque totalement sauf que je voudrais conserver
l'en tête de ligne et que l'ajout du nom de l'onglet se fasse dans la
première colonne et pas dans la dernière (en clair il faut insérer une
nouvelle colonne).

Merci si quelqu'un peut m'aider car mes compétences en VBA frisent le néant

@+ et merci d'avance








Publicité
Poster une réponse
Anonyme