Creer une Feuille en fonction d'un Nom et la selectionner
Résolu
ThomasJ45
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
ThomasJ45 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
ThomasJ45 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour
A travers ma macro je souhaiterais créer une feuille en fonction d'une cellule donnée.
Mais si elle existe déjà continuer la macro.
Pour continuer la Macro j'ai besoin de copier la valeur sélectionné dans la base et la copier dans la nouvelle feuille.
J'ai commencer une marco
Option Explicit
Sub Rectangle1_Cliquer()
Dim Nblg As Long
Dim CHX As String
Application.ScreenUpdating = False
Nblg = Range("B" & Rows.Count).End(xlUp).Row
CHX = Cells(1, 3)
Sheets.Add.Name = CHX
Sheets("projet").Select
Range("A9:Y" & Nblg).AutoFilter field:=2, Criteria1:=CHX
If Application.Subtotal(103, Range("B10:B" & Nblg)) > 0 Then
With Sheets("p")
'Ici "P" et la valeur dans la cellule. je voudrais que sa quelque chose comme
'Sheets.Name = CHX
.Cells.Clear
Range("A10:Y" & Nblg).SpecialCells(xlCellTypeVisible).Copy .Range("A1")
.Range("A1:Y" & .Range("B" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=3
End With
ActiveSheet.AutoFilterMode = False
End If
End Sub
Pouvez-vous m'aider.
Merci
A travers ma macro je souhaiterais créer une feuille en fonction d'une cellule donnée.
Mais si elle existe déjà continuer la macro.
Pour continuer la Macro j'ai besoin de copier la valeur sélectionné dans la base et la copier dans la nouvelle feuille.
J'ai commencer une marco
Option Explicit
Sub Rectangle1_Cliquer()
Dim Nblg As Long
Dim CHX As String
Application.ScreenUpdating = False
Nblg = Range("B" & Rows.Count).End(xlUp).Row
CHX = Cells(1, 3)
Sheets.Add.Name = CHX
Sheets("projet").Select
Range("A9:Y" & Nblg).AutoFilter field:=2, Criteria1:=CHX
If Application.Subtotal(103, Range("B10:B" & Nblg)) > 0 Then
With Sheets("p")
'Ici "P" et la valeur dans la cellule. je voudrais que sa quelque chose comme
'Sheets.Name = CHX
.Cells.Clear
Range("A10:Y" & Nblg).SpecialCells(xlCellTypeVisible).Copy .Range("A1")
.Range("A1:Y" & .Range("B" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=3
End With
ActiveSheet.AutoFilterMode = False
End If
End Sub
Pouvez-vous m'aider.
Merci
A voir également:
- Creer une Feuille en fonction d'un Nom et la selectionner
- Fonction si et - Guide
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
2 réponses
Bonjour
Mais si elle existe déjà continuer la macro.
en début de votre macro, ajoutez la ligne suivante
Cdlt
Mais si elle existe déjà continuer la macro.
en début de votre macro, ajoutez la ligne suivante
On error resume next, cela devrait répondre à votre question
Cdlt
Sheets.Add.Name = "CHX"
ActiveSheet.Select
la nouvelle feuille étant ainsi sélectionnée, utilisez l'enregistreur de macros pour la suite
Cdlt
ActiveSheet.Select
la nouvelle feuille étant ainsi sélectionnée, utilisez l'enregistreur de macros pour la suite
Cdlt
Bonsoir Frenchie83,
Merci pour ta réponse mais comme après avoir renommer la feuille je .select d'autre feuille pour d'autre exécution la commande ActiveSheet ne me convenait pas.
J'ai utilisé Sheets(Application.Transpose(Range(xxxxxx)))
XXXX a remplacé par la cellule de reférence.
Merci pour l'aide.
Bonne soirée
Merci pour ta réponse mais comme après avoir renommer la feuille je .select d'autre feuille pour d'autre exécution la commande ActiveSheet ne me convenait pas.
J'ai utilisé Sheets(Application.Transpose(Range(xxxxxx)))
XXXX a remplacé par la cellule de reférence.
Merci pour l'aide.
Bonne soirée
Ok Merci.
Aurais-tu une piste pour l'autre problème.
Quand je créer une nouvelle feuille avec Sheets.Add.Name = CHX
je voudrais reprendre cette feuille en question dans With Sheets(......)
Je ne vois pas comment dire de reprendre le nom de la feuille créer ou de prendre la feuille qui s'appelle comme la celulle.
Merci