Créer nouvelle feuilles dont leur nom serai la valeur de cellule
Résolu
OlivGFT
Messages postés
24
Statut
Membre
-
OlivGFT Messages postés 24 Statut Membre -
OlivGFT Messages postés 24 Statut Membre -
Bonjour,
Le but de ma macro est de créer des nouvelles feuilles excel dont le nom serrai issu d'une liste de cellule ( organisé en colone). Cette liste est un nombre qui varie.
Le nom de la feuille serai la valeur de la cellule. ( donc si j'ai 25 cellule de A2 à A25 J'aurai 25 nouvelle feuille avec ma 1er feuille qui aurai pour nom la valeur de A2 ma deuxieme feuille qui aurai pour nom la valeur A3..)
Pour cela j'ai une feuille qui s'appelle « périmettre » qui contient 1 colonne avec A1 l'entete de la colone et sur le reste le code de mes entreprises.
Je dois compter le nombre de cellule qu'il y a moins 1 ( car c'est l'entete de la colonne) pour déterminer le nombre de ma variable « Nombres_entreprise »
Ensuite je cherche à crée pour chaque code entreprise une nouvelle feuille avec pour nom le code de chaque entreprise.
Bref voici mon code qui bug completement.
Pouvez vous jetter un coup d'oeil et m'expliquer les différents pbs ( je débute en vba et je souhaite vraiment gagner en niveau...)
Sub Test_création_de_feuilles()
'
Dim nbentreprise As Currency
Dim nvfeuille As Worksheet
Dim i As Currency
Sheets("Perimettre").Select
Range("B1").Select
'selectionne la cellule B1 dans la feuille périmettre
ActiveCell.FormulaR1C1 = "=COUNTA(C[-1])"
' Compte le nombre de cellule non vide dans la colonne A
'( je ne comprend pas d'ailleur car ce n'est pas indiqué la colonne A mais juste le déclage par rapport à B)
nbentreprise = Range("B1").Value -1
' Ma variable possede la valeur du nombre de cellule nom vide de A
i = 0
For i = 0 To nbentreprise
' Crée une boucle qui se repete jusqu'a mon nombre d'entreprise
Set nvfeuille = Sheets.Add(After:=Sheets(Sheets.Count))
' Création d'une nouvelle feuille ???
Sheets("Perimettre").Select
nvfeuille.Name = Range("A2" + i).Value
i = i + 1
Next i
End Sub
Merci d'avance pour toutes remarques et explications !
Le but de ma macro est de créer des nouvelles feuilles excel dont le nom serrai issu d'une liste de cellule ( organisé en colone). Cette liste est un nombre qui varie.
Le nom de la feuille serai la valeur de la cellule. ( donc si j'ai 25 cellule de A2 à A25 J'aurai 25 nouvelle feuille avec ma 1er feuille qui aurai pour nom la valeur de A2 ma deuxieme feuille qui aurai pour nom la valeur A3..)
Pour cela j'ai une feuille qui s'appelle « périmettre » qui contient 1 colonne avec A1 l'entete de la colone et sur le reste le code de mes entreprises.
Je dois compter le nombre de cellule qu'il y a moins 1 ( car c'est l'entete de la colonne) pour déterminer le nombre de ma variable « Nombres_entreprise »
Ensuite je cherche à crée pour chaque code entreprise une nouvelle feuille avec pour nom le code de chaque entreprise.
Bref voici mon code qui bug completement.
Pouvez vous jetter un coup d'oeil et m'expliquer les différents pbs ( je débute en vba et je souhaite vraiment gagner en niveau...)
Sub Test_création_de_feuilles()
'
Dim nbentreprise As Currency
Dim nvfeuille As Worksheet
Dim i As Currency
Sheets("Perimettre").Select
Range("B1").Select
'selectionne la cellule B1 dans la feuille périmettre
ActiveCell.FormulaR1C1 = "=COUNTA(C[-1])"
' Compte le nombre de cellule non vide dans la colonne A
'( je ne comprend pas d'ailleur car ce n'est pas indiqué la colonne A mais juste le déclage par rapport à B)
nbentreprise = Range("B1").Value -1
' Ma variable possede la valeur du nombre de cellule nom vide de A
i = 0
For i = 0 To nbentreprise
' Crée une boucle qui se repete jusqu'a mon nombre d'entreprise
Set nvfeuille = Sheets.Add(After:=Sheets(Sheets.Count))
' Création d'une nouvelle feuille ???
Sheets("Perimettre").Select
nvfeuille.Name = Range("A2" + i).Value
i = i + 1
Next i
End Sub
Merci d'avance pour toutes remarques et explications !
A voir également:
- Créer une nouvelle feuille vba
- Darkino nouvelle adresse - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
- Créer un lien pour partager des photos - Guide
1 réponse
Bonjour,
une facon de faire:
une facon de faire:
Sub Test_création_de_feuilles()
Dim cel As Range
With Worksheets("Perimettre")
'derniere cellule non vide colonne A
derlig = .Range("A" & Rows.Count).End(xlUp).Row
'mise en memoire plage cellules
Set plage = .Range("A2:A" & derlig)
End With
'boucle balayage plage
For Each cel In plage
' Création d'une nouvelle feuille
Sheets.Add After:=Sheets(Sheets.Count)
'nom feuille
ActiveSheet.Name = cel.Value
Next cel
End Sub
Perso j'ai besoin de déclarer mes variables alors je rajouterai juste cela
Dim plage As Range
Dim derlig As Currency
Merci !