Impacter des feuilles générés à partir d'un module avec une macro de Masquage

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 !

GuillaumA

XLDnaute Occasionnel
Bonjour,
J'ai la macro suivante afin de masquer des lignes:
Code:
Public Sub Hide() 'hide unused lines of this page automatically

Application.ScreenUpdating = False
For i = 11 To 13
Rows(i).Hidden = Cells(i, 6).Value = "0"
Next i
Application.ScreenUpdating = True

End Sub

J'aimerai placer cette macro sur un module afin que cette dernière agisse sur toute les feuilles commençant par un nombre de 01 à 31 (31 jours max dans un mois, le 0 devant les chiffres 1 à 9 est nécessaire).

Quelqu'un saurait-il comment faire ? Pourrais-je utiliser quelquechose de cette forme ?
Code:
If Worksheet.name = ("0"*;"1"*;"2"*;"3"*) Then

Amicalement,
Guillaume
 
Dernière édition:
Re : Impacter des feuilles générés à partir d'un module avec une macro de Masquage

Demande retirée.

J'ai trouvé une solution alternative qui marche tout aussi bien et qui ne nécessite pas de module externe ciblant des feuilles commençant par un nom spécifique.

J'ai juste intégré des Call Hide() dans les macros de génération de feuille... Tout simplement...

En revanche, je suis toujours intéressé par savoir comment cibler par module des feuilles commencant par des chiffres (0,1,2,3). En effet, je ne sais pas comment faire et cela pourrais m'être fort utile.


Amicalement,
Guillaume
 
Dernière édition:
Re : Impacter des feuilles générés à partir d'un module avec une macro de Masquage

Bonjour GuillaumA

Pour
Code:
If Worksheet.name = ("0"*;"1"*;"2"*;"3"*) Then[/FONT]
Tu peux tester:
Code:
If IsNumeric(Left(ActiveSheet.Name, 1)) Then MsgBox "ok"
 
Re : Impacter des feuilles générés à partir d'un module avec une macro de Masquage

Bonjour,
Je relance ce fil car j'ai testé la macro suivante sur mes feuilles générées avec des noms commençant par 0 , 1 , 2 ou 3 (sachant que les titres des feuilles sont du style 13 octobre 2010, 25 janvier 2011, etc...)

La macro est ici utilisé pour copier des données retrouvés sur les feuilles commençant par 0 1 2 3 et les coller sur des plages spécifiques d'une feuille appelée "Actions"

Cette dernière prend en compte la solution énoncée par MJ13 (IsNumeric), tous en l'activant sur 12 feuilles commençant par un chiffre.
Pour différencier la zone ou va être copié les informations recueillis sur chaque feuille, j'ai mis en D9 un nombre allant de 1 à 12.

Cette macro ne marche pas à ce jour et je ne comprend pas comment la faire marcher. De plus, je trouve le code très conséquent et me demande s'il n'y a pas moyen de la réduire (par exemple en associant les plages ou sont copiés les données à un indicateur comme i par exemple).

Votre aide serait plus que bienvenu et vous remercie par avance pour toute indication.

Bien amicalement,
Guillaume

PS: Cette macro se situe sur la feuille sur laquelle sont reportés les données (son nom: Actions).
Code:
Sub ActionsReports()

Dim CopiedArea As Range
Dim Tablo As Worksheet
Set CopiedArea = Range("B160:U160")

With IsNumeric(Left(ActiveSheet.Name, 1))

If ActiveSheet.[D9].Value = "1" Then
    CopiedArea.Copy
    With Cells(2, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
 If ActiveSheet.[D9].Value = "2" Then
    CopiedArea.Copy
    With Cells(22, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "3" Then
    CopiedArea.Copy
    With Cells(42, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "4" Then
    CopiedArea.Copy
    With Cells(62, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "5" Then
    CopiedArea.Copy
    With Cells(82, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "6" Then
    CopiedArea.Copy
    With Cells(102, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "7" Then
    CopiedArea.Copy
    With Cells(122, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "8" Then
    CopiedArea.Copy
    With Cells(142, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "9" Then
    CopiedArea.Copy
    With Cells(162, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "10" Then
    CopiedArea.Copy
    With Cells(182, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If

If ActiveSheet.[D9].Value = "11" Then
    CopiedArea.Copy
    With Cells(202, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
If ActiveSheet.[D9].Value = "12" Then
    CopiedArea.Copy
    With Cells(222, 3)
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    End With
End If
    
End With
Application.CutCopyMode = False

End Sub
 
Dernière édition:
- 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

Retour