XL 2016 modification de code vba

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 !

Seddiki_adz

XLDnaute Impliqué
comment modifier ce code vba si je veut juste consolider des onglets définie par leur nom
Sub Consolider()
Dim lig As Long, w As Worksheet, h As Long
Feuil1.Activate 'CodeName de "Consolidation Synthèse"
Application.ScreenUpdating = False 'fige l'écran
Rows("5:" & Rows.Count).Delete 'vidage
lig = 5 '1ère ligne à remplir
For Each w In Worksheets
If w.Name <> ActiveSheet.Name Then
h = w.Cells(Rows.Count, 2).End(xlUp).Row - 4
If h > 0 Then
w.[5:5].Resize(h).Copy Cells(lig, 1)
lig = lig + h
End If
End If
Next
If lig = 5 Then Exit Sub 'si aucun nom
With [5:5].Resize(lig - 5)
.Sort [B5], Header:=xlNo 'tri sur colonne B
'---épuration---
.Columns(2).Replace " ", "", LookAt:=xlWhole
On Error Resume Next
.Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End Sub

Merci
 
Solution
j'ai ajouter un onglet dans ce fichier et je ne veut pas consolider avec les autre onglets
à tester, je n'ai rajouté qu'une condition pour ne pas prendre en compte aussi la feuille que tu as ajouté (feuil1)
VB:
Option Explicit

Sub Consolider()
Dim lig As Long, w As Worksheet, h As Long
Feuil1.Activate 'CodeName de "Consolidation Synthèse"
Application.ScreenUpdating = False 'fige l'écran
Application.DisplayAlerts = False 'évite les invites éventuelles (liaisons)
Rows("5:" & Rows.Count).Delete 'vidage
lig = 5 '1ère ligne à remplir
For Each w In Worksheets
  If w.Name <> ActiveSheet.Name And w.Name <> "feuil1" Then ' ajout condition non feuil1
    h = w.Cells(Rows.Count, 1).End(xlUp).Row - 4
    If h > 0 Then...
Je n'ai rien compris. Ni fichier, ni explications, je ne suis pas devin.
ce code vba consolider toutes les onglets et je modifier pour 3 onglet
 

Pièces jointes

Dernière édition:
ce code vba consolider toutes les onglets et je modifier pour 3 onglet
Ce n'est pas en me montrant des exemples que je vais comprendre ta problématique.
Il faut joindre ton fichier et des explications ou mieux le résultat attendu du code.
En effet, sur le fichier joint le code boucle sur toute les feuilles sauf la feuille active.

A+
 
Ce n'est pas en me montrant des exemples que je vais comprendre ta problématique.
Il faut joindre ton fichier et des explications ou mieux le résultat attendu du code.
En effet, sur le fichier joint le code boucle sur toute les feuilles sauf la feuille active.

A+
j'ai ajouter un onglet dans ce fichier et je ne veut pas consolider avec les autre onglets
 

Pièces jointes

j'ai ajouter un onglet dans ce fichier et je ne veut pas consolider avec les autre onglets
à tester, je n'ai rajouté qu'une condition pour ne pas prendre en compte aussi la feuille que tu as ajouté (feuil1)
VB:
Option Explicit

Sub Consolider()
Dim lig As Long, w As Worksheet, h As Long
Feuil1.Activate 'CodeName de "Consolidation Synthèse"
Application.ScreenUpdating = False 'fige l'écran
Application.DisplayAlerts = False 'évite les invites éventuelles (liaisons)
Rows("5:" & Rows.Count).Delete 'vidage
lig = 5 '1ère ligne à remplir
For Each w In Worksheets
  If w.Name <> ActiveSheet.Name And w.Name <> "feuil1" Then ' ajout condition non feuil1
    h = w.Cells(Rows.Count, 1).End(xlUp).Row - 4
    If h > 0 Then
      w.[5:5].Resize(h).Copy Rows(lig) 'pour les formats
      Rows(lig).Resize(h, 13) = w.[5:5].Resize(h, 13).Value 'valeurs colonnes A:M
      lig = lig + h
    End If
  End If
Next
If lig = 5 Then Exit Sub 'si aucun nom
With [5:5].Resize(lig - 5)
  .Sort [B5], Header:=xlNo 'tri sur colonne B
  '---épuration---
  .Columns(1).Replace " ", "", LookAt:=xlWhole
  On Error Resume Next
  .Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
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
4
Affichages
355
Réponses
35
Affichages
2 K
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
234
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
497
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
68
Retour