Menu

Nom des feuilles excel automatique selon une cellule + compteur

Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
-
Bonjour à tous,

Tout d'abord mes meilleurs voeux pour cette nouvelle année.

N'étant pas très douée en macro, je fais appel à votre savoir.

J'aimerai une macro qui me permette de nommer automatiquement les feuilles selon un numéro de départ 'F201901' que j'ai indiquer dans la première feuille "N°factures!A1" pour que les suivantes deviennent F201902..03 etc. J'ai voulu ajouter la fonction qui évite la création de doublon mais je suis emmêlée les pinceaux

Voici mon bout de macro

' AjoutAutoFeuilles ()
Dim compteur As Integer
compteur = 1
For compteur = 1 To Range("N°factures!A1").Value
Sheets.Add

For Each Worksheet In Worksheets
If Worksheet.Name = "N°factures!A1" & compteur Then
Application.DisplayAlerts = False
Worksheet.Delete
Application.DisplayAlerts = True
End If
Next Worksheet
ActiveSheet.Name = "N°factures!A1" & compteur
Next
End Sub


je n'ai pas trouvé comment vous faire part de mon fichier excel


Merci pour votre retour
Afficher la suite 

Votre réponse

5 réponses

Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
1287
0
Merci
Bonjour,
site de partage fichier
http://www.cjoint.com
MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
-
Bonjour,
Merci pour le lien, j'y ai mis mon fichier
f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
1287 -
Bonjour,

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

ou
'mon partage
http://mon-partage.fr/
Commenter la réponse de f894009
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
0
Merci
Bonjour,

Désolée je débute voici le lien http://www.cjoint.com/c/IAeharS0YXO Merci pour ta patience
f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
1287 -
Re,

Certes, certes mais a quel moment voulez vous que ca se passe votre affaire car comprends pas trop la logique!!
MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
> f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
-
Dans le fichier, j'ai les deux premières feuilles qui récapitule pour l'une les numéros de factures et l'autre l'ensemble des factures détaillées. Puis viennent les factures "F201901", F201902..j'aimerai qu'en créant la feuille suivante, le nom de la feuille se mette automatiquement en gardant l'ordre chronologique soit F201903 mais aussi, après réflexion, qu'elle se créée, en copiant le détail de la feuille F201901.
En espérant avoir été plus compréhensible
f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
1287 -
Re,

Il vous faut une feuille model qui sera recopiee avec les valeurs et le nom qu'il faudra dans la chronologie. Normalement pas besoin de la feuille N°factures. Le numero de prochaine facture pourrait etre ecrit en auto dans la cellule B16 du model. Il faudra aussi un bouton ou autre action pour faire cette recopie!!

Pourquoi feuille: F201901 et ailleurs N° facture: 2019-01

La feuille FACTURATION JANVIER 2019 sera remplie comment et a quoi sert-elle??
Commenter la réponse de MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
0
Merci
Re,

j'ai trouvé cette fonction vba qui fonctionne mais elle ne tient pas compte des n°déjà créer préalablement.
est-ce qu'il y a un moyen d'ajouter dans la fonction un compteur (en partant du n° de ma première "feuille 2019-01") ?

Sub Create()
'Updateby Extendoffice 20160704
Dim I As Long
Dim xNumber As Integer
Dim xName As String
Dim xActiveSheet As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Set xActiveSheet = ActiveSheet
xNumber = InputBox("Enter number of times to copy the current sheet")
For I = 1 To xNumber
xName = ActiveSheet.Name
xActiveSheet.Copy After:=ActiveWorkbook.Sheets(xName)
ActiveSheet.Name = "2019-" & I
Next
xActiveSheet.Activate
Application.ScreenUpdating = True
End Sub


c'est un fichier test ..F201901 => F=feuille et le n°de facture 201901

la feuille FACTURATION ve reprendre différentes information de toutes les factures créées
f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
1287 -
Bonjour,

Vous restez sur votre facon de voir, allons y:

Sub Create()
    'Updateby Extendoffice 20160704
    Dim I As Long
    Dim xNumber As Integer
    Dim xName As String
    Dim xActiveSheet As Worksheet
    
    On Error Resume Next
    Application.ScreenUpdating = False
    Num_depart = ActiveSheet.Range("B16")
    Num_depart = Split(Num_depart, "-")
    Ndep = CLng(Num_depart(1))
    Set xActiveSheet = ActiveSheet
    xNumber = InputBox("Enter number of times to copy the current sheet")
    For I = Ndep To xNumber
        xName = ActiveSheet.Name
        xActiveSheet.Copy After:=ActiveWorkbook.Sheets(xName)
        With ActiveSheet
            .Name = "2019-" & Format(I, "00")
            .Range("B16") = .Name
        End With
    Next I
    xActiveSheet.Activate
    Application.ScreenUpdating = True
    Set xActiveSheet = Nothing
End Sub


Il faudrait ajouter des tests sur la saisie de l'inputbox, mais a vous de voir……...
MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
-
Bonjour,

Je continue de chercher une solution...

La fonction ne gère pas le compteur, elle me créée en doublon la dernière feuille.

En tout cas je te remercie pour ton aide.
f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
1287 -
Bonjour,

En effet, code modifie:

Sub Create()
    'Updateby Extendoffice 20160704
    Dim I As Long
    Dim xNumber As Integer
    Dim xName As String
    Dim xActiveSheet As Worksheet
    
    On Error Resume Next
    Application.ScreenUpdating = False
    Num_depart = ActiveSheet.Range("B16")
    Num_depart = Split(Num_depart, "-")
    Ndep = CLng(Num_depart(1)) + 1
    Set xActiveSheet = ActiveSheet
    xNumber = InputBox("Enter number of times to copy the current sheet")
    xNumber = xNumber + Ndep
    For I = Ndep To xNumber
        xName = ActiveSheet.Name
        xActiveSheet.Copy After:=ActiveWorkbook.Sheets(xName)
        With ActiveSheet
            .Name = "2019-" & Format(I, "00")
            .Range("B16") = .Name
        End With
    Next I
    xActiveSheet.Activate
    Application.ScreenUpdating = True
    Set xActiveSheet = Nothing
End Sub
Commenter la réponse de MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
0
Merci
Bonjour,

Top je n'ai plus de doublon merci. Par contre, ça me crée deux feuilles au lieu d'une mais c'est gérable.

Et si je veux pousser l'automatisme...

Est-ce qu'il est possible de créer automatiquement le nombre de factures défini par la feuilles "N°factures" ? ex. : j'inscris les numéros de factures (2019-01..2019-02 jusuqu'à 2019-70, soit 70 factures) sur cette feuille de la cellule B1 à B70. Puis, via le clic du bouton qui se trouve sur la feuille de factures "modèle", les 70 factures se créées avec le nom de la feuille mis automatiquement ?
f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
1287 -
Re
Chez moi y a pas de feuilles protègees et ça marche sans problème!!!!!!
Pouvez mettre votre fichier à dispo??
MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
> f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
-
il me supprime la protection enfin plutôt il ne me remet pas la protection uniquement sur la feuille MODELE & du coup les factures qu'il a crée

Ci-dessous le lien
http://www.cjoint.com/c/IAlwz5niPck
MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
> MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
-
le mot de passe est test
MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
-
ggrrrr ça ne me garde pas le verrouillage de ma feuille modele
f894009
Messages postés
13917
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
20 janvier 2019
1287 -
Bonjour,

Code modifie:

Sub MacroavecfeuilleProtect()
    'Updateby Extendoffice 20160704
    Dim xName As String
    Dim Plage As Variant
    Dim n, Nb

    'On Error Resume Next
    'Application.ScreenUpdating = False
    With Worksheets("N°Factures")
        Plage = .Range("B1:B" & .Range("B" & Rows.Count).End(xlUp).Row)
        Nb = UBound(Plage)
    End With
    xName = Worksheets("MODELE").Name
    For n = 1 To Nb
        Worksheets("MODELE").Copy After:=ActiveWorkbook.Sheets(xName)
        With ActiveSheet
            .Name = Plage(n, 1)
            xName = .Name
            .Unprotect "test"
            .Range("B16") = .Name
            .Shapes.Range(Array("Button 1")).Delete     'suppression bouton
            .Protect "test", True, True, True
        End With
    Next n
    ThisWorkbook.Save
    Application.ScreenUpdating = True
End Sub



Sute:
Excel mac 2011 32bits, plus marche sur MAC en sauvegarde. Je sais que tous les logiciels devront etre en 64bits mais!!
Donc ai du passer sur PC Windows…..
Classeur: http://mon-partage.fr/f/8f0OwwlR/
Commenter la réponse de MR682
Messages postés
13
Date d'inscription
jeudi 3 janvier 2019
Dernière intervention
14 janvier 2019
0
Merci
Bonjour,

Génial ça fonctionne nickel!!

un énorme MERCI pour ton aide et ton temps
Commenter la réponse de MR682
Baixar toque para celular | Running Man Episode 349 | Saber Marionette J to X