Besoin d'Aide sur cette Macro

Mister Binaire

XLDnaute Occasionnel
Bonsoir le Forum,

Cette macro (voir ci-dessous) copie les datas localisés dans chaque onglet (sauf exceptions) du classeur dans un onglet appelé "Master Data").

Les datas sont copiés en ligne tout marche bien sauf une chose.

Les onglets où sont copiés les datas contiennent une MFC et forcément cette dernière est recopiée dans l'onglet Master Data.

Comment modifier cette Macro pour que la MFC ne soit pas recopiée ??

Merci de votre aide..



Sub MasterData()
Dim OD As Object 'déclare la variable OD (Onglet de Destination)
Dim O As Object 'déclare la variable O (Onglets)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Dim L As Long
Set OD = Sheets("Master Data") 'définit l'onglet OD
For Each O In Sheets 'boucle sur tous les onglets O du classeur
Select Case O.Name 'agit en fonction du nom de l'onglet O
'cas "Sommaire", "Formulaire Demande", "Formulaire Process" et "Master Data", rien ne se passe
Case "Sommaire", "Formulaire Demande", "Formulaire Process", "Master Data", "Stats"
Case Else 'tous les autres cas
'définit la cellule de destination DEST (A1 si A1 est vide sinon, la première cellule vide de la ligne 1)
Set DEST = OD.Range("A65536").End(xlUp).Offset(1, 0)
L = O.Range("A65536").End(xlUp).Row 'adapter 65536 si nécessaire
If L > 1 Then Range(O.Range("A1"), O.Range("A" & L).Offset(0, 3)).Copy DEST
End Select 'fin de la condition
Next O 'prochain onglet de la boucle
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Besoin d'Aide sur cette Macro

[...Suite...]


Histoire d'attendre que la soupe refroidisse, je te laisse identifier si le code ci-dessous c'est du 1) ou du 2) ;)
Code:
Sub MasterDataBIS()
Dim OD As Worksheet, O As Worksheet
Dim DEST As Range, L&
Set OD = Sheets("Master Data")
    For Each O In Worksheets
        Select Case O.Name
        Case "Sommaire", "Formulaire Demande", "Formulaire Process", "Master Data", "Stats"
        Case Else
        Set DEST = OD.Range("A65536").End(xlUp).Offset(1, 0)
        L = O.Cells(Rows.Count, 1).End(xlUp).Row
        If L > 1 Then
        O.Cells(1, 1).Resize(L, 4).Copy
        DEST.PasteSpecial Paste:=xlPasteValues
        End If
        End Select
    Next O
End Sub
 

Mister Binaire

XLDnaute Occasionnel
Re : Besoin d'Aide sur cette Macro

Merci de ta réponse Staple1600.

Tu as superbement allégé le code et c'est vrai que la MFC à totalement disparue dans l'onglet "Master Data"

Cependant, je rencontre un autre problème dans les onglets qui vont être recopiés dans le Master Data j'ai une colonne date et celle ci perd son format lors de la recopie.

Est-il possible de conserver le format date localisée toujours en colonne B le Quand (voir ci-dessous) ?

Ou dois-je la pré formater dans l'onglet "Master Data" ?

Merci de ton aide..

Qui Quand N° de Roll Data OTR
THs 41964 4100555013/Seq7 6,1
THs 41964 4100555013/Seq7 6,2
THs 41964 4100555013/Seq7 6,6
THs 41964 4100555013/Seq7 7,4
THs 41964 4100565935/Seq 14 5,8
THs 41964 4100565935/Seq 14 5,2
THs 41964 4100565935/Seq 14 7,5
THs 41964 4100565935/Seq 14 7,2
 

Staple1600

XLDnaute Barbatruc
Re : Besoin d'Aide sur cette Macro

Re

Il suffit d'appliquer le format désiré en fin de macro
Code:
Sub MasterDataTER()
Dim OD As Worksheet, O As Worksheet
Dim DEST As Range, L&
Set OD = Sheets("Master Data")
    For Each O In Worksheets
        Select Case O.Name
        Case "Sommaire", "Formulaire Demande", "Formulaire Process", "Master Data", "Stats"
        Case Else
        Set DEST = OD.Range("A65536").End(xlUp).Offset(1, 0)
        L = O.Cells(Rows.Count, 1).End(xlUp).Row
        If L > 1 Then
        O.Cells(1, 1).Resize(L, 4).Copy
        DEST.PasteSpecial Paste:=xlPasteValues
        End If
        End Select
    Next O
    OD.Range(Cells(2, 2), Cells(Rows.Count, 2).End(xlUp)).NumberFormatLocal = "jj/mm/aaaa"
End Sub
 

Mister Binaire

XLDnaute Occasionnel
Re : Besoin d'Aide sur cette Macro

Merci de ton aide Staple1600.

Le rajout du format date permet de conserver la date au bon format.

Il me reste juste un détail à éclaircir avec toi stp avec la première macro quand je cliquai sur le Bouton qui commande cette macro les datas étaient envoyés à l'onglet "Master Data" mais je restais sur ma feuille ou est localisé mon Bouton avec ta nouvelle macro lors de l'envoi je me retrouve sur l'onglet "Master Data" que faut il modifier pour que je reste sur la page de mon sommaire lors de l'envoi ?

Merci de ton aide ?
 

Discussions similaires

Réponses
7
Affichages
620

Statistiques des forums

Discussions
312 887
Messages
2 093 309
Membres
105 687
dernier inscrit
Warfire