Modifier le nom des feuilles du classeur

Bonjour

Bonjour, je voudrais modifier le nom des feuilles du classeur pour que la macro fonctionne encore une fois

les noms des feuilles s'appelaient respectivement vitrine2, vitrine3, vitrine4, vitrine5.... apparement la macro est paramétré à cet effet. ..donc je veux les nommer ainsi

vitrine2 = IMM

vitrine3= HAG

vitrine4= ARR

vitrine5= ENS

le code la macro

Sub Macro1()

' ---------Export vers feuille2

Application.ScreenUpdating = False
varF = "vitrine"
col = 11

Set ws_user = Sheets("utilisateurs")

Set ws_CM1 = Sheets("CM1")

NbLigCM1 = ws_CM1.[A1].CurrentRegion.Rows.Count
NbParam = ws_user.[K1].CurrentRegion.Rows.Count

For x = 3 To Sheets.Count - 1
vitrine2 = Sheets(varF & x - 1).Name
NbLigCM2 = Sheets(vitrine2).Range("A1000").End(xlUp).Row - 1

NbExport = 0
With Worksheets("CM1")
For i = 2 To NbParam
    For j = 2 To NbLigCM1
        If .Cells(j, "K") = ws_user.Cells(i, col) Then
            .Rows(j).Copy Destination:=Sheets(varF & x - 1).Rows(2 + NbLigCM2)
            NbLigCM2 = NbLigCM2 + 1
            NbExport = NbExport + 1
            .Rows(j).Delete
            j = j - 1
        End If
    Next
Next
End With
col = col + 1
Next x
Application.ScreenUpdating = True

End Sub

ci-joint le fichier

Merci de votre aide

8modif-macro.xlsm (29.59 Ko)

Bonjour,

Une fois les feuilles renommées ...

Un essai ...

Sub Macro1()
Dim Ws_User As Worksheet
Dim Ws_CM1 As Worksheet
Dim Ws As Worksheet
Dim Col As Byte
Dim NbLigCM1 As Long
Dim NbLigCM2 As Integer
Dim NbParam As Long
Dim NbExport As Long
Dim i As Long, j As Long

   ' ---------Export vers feuille2
   Application.ScreenUpdating = False
   Col = 11

   Set Ws_User = Sheets("utilisateurs")
   Set Ws_CM1 = Sheets("CM1")

   NbLigCM1 = Ws_CM1.[A1].CurrentRegion.Rows.Count
   NbParam = Ws_User.[K1].CurrentRegion.Rows.Count

   For Each Ws In Sheets(Array("IMM", "HAG", "ARR", "ENS"))
      NbLigCM2 = Ws.Range("A1000").End(xlUp).Row - 1
      NbExport = 0
      With Worksheets("CM1")
         For i = 2 To NbParam
            For j = 2 To NbLigCM1
               If .Cells(j, "K") = Ws_User.Cells(i, Col) Then
                  .Rows(j).Copy Destination:=Ws.Rows(2 + NbLigCM2)
                  NbLigCM2 = NbLigCM2 + 1
                  NbExport = NbExport + 1
                  .Rows(j).Delete
                  j = j - 1
               End If
            Next
         Next
      End With
      Col = Col + 1
   Next Ws
   Application.ScreenUpdating = True
End Sub

ric

Un grand Merci à vous .....ça marche très bien

ric

Re-bonjour

Y a t il un moyen, dans la mesure du possible, d'avoir un msgbox qui nous indiquent le nombre de lignes exportées vers les différentes feuilles ?

Merci

Bonjour,

Probablement ... mais pour les tests, il faudrait quelques lignes de plus afin qu'il y ait exportation dans chacune de ces différentes feuilles.

Est-ce que tu peux fournir cela ?

ric

Rechercher des sujets similaires à "modifier nom feuilles classeur"